diff options
author | Justin M. Forbes <jforbes@fedoraproject.org> | 2022-06-10 11:19:50 -0500 |
---|---|---|
committer | Justin M. Forbes <jforbes@fedoraproject.org> | 2022-06-10 11:19:50 -0500 |
commit | 96bb34013d7c3ac61bc271b73fb2bf97a5e83d73 (patch) | |
tree | 2e8143e909ffec1dcba799b2de13586519b908c6 /patch-5.19-redhat.patch | |
parent | 23870fea939886a44d7faca43ec43cab360c8536 (diff) | |
download | kernel-96bb34013d7c3ac61bc271b73fb2bf97a5e83d73.tar.gz kernel-96bb34013d7c3ac61bc271b73fb2bf97a5e83d73.tar.xz kernel-96bb34013d7c3ac61bc271b73fb2bf97a5e83d73.zip |
Add fix for virtio rmg
Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
Diffstat (limited to 'patch-5.19-redhat.patch')
-rw-r--r-- | patch-5.19-redhat.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/patch-5.19-redhat.patch b/patch-5.19-redhat.patch index 52cbc1072..4028e8adc 100644 --- a/patch-5.19-redhat.patch +++ b/patch-5.19-redhat.patch @@ -3016,3 +3016,47 @@ index 188b8f782220..dab400de2335 100644 #ifdef CONFIG_PERF_EVENTS int security_perf_event_open(struct perf_event_attr *attr, int type) { +From 228432551bd8783211e494ab35f42a4344580502 Mon Sep 17 00:00:00 2001 +From: Jason Wang <jasowang@redhat.com> +Date: Wed, 8 Jun 2022 14:14:22 +0800 +Subject: [PATCH] virtio-rng: make device ready before making request + +Current virtio-rng does a entropy request before DRIVER_OK, this +violates the spec: + +virtio spec requires that all drivers set DRIVER_OK +before using devices. + +Further, kernel will ignore the interrupt after commit +8b4ec69d7e09 ("virtio: harden vring IRQ"). + +Fixing this by making device ready before the request. + +Cc: stable@vger.kernel.org +Fixes: 8b4ec69d7e09 ("virtio: harden vring IRQ") +Fixes: f7f510ec1957 ("virtio: An entropy device, as suggested by hpa.") +Reported-and-tested-by: syzbot+5b59d6d459306a556f54@syzkaller.appspotmail.com +Signed-off-by: Jason Wang <jasowang@redhat.com> +Message-Id: <20220608061422.38437-1-jasowang@redhat.com> +Signed-off-by: Michael S. Tsirkin <mst@redhat.com> +Reviewed-by: Laurent Vivier <lvivier@redhat.com> +--- + drivers/char/hw_random/virtio-rng.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c +index e856df7e285c..a6f3a8a2aca6 100644 +--- a/drivers/char/hw_random/virtio-rng.c ++++ b/drivers/char/hw_random/virtio-rng.c +@@ -159,6 +159,8 @@ static int probe_common(struct virtio_device *vdev) + goto err_find; + } + ++ virtio_device_ready(vdev); ++ + /* we always have a pending entropy request */ + request_entropy(vi); + +-- +2.36.1 + |