summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin M. Forbes <jforbes@fedoraproject.org>2022-06-10 11:19:50 -0500
committerJustin M. Forbes <jforbes@fedoraproject.org>2022-06-10 11:19:50 -0500
commit96bb34013d7c3ac61bc271b73fb2bf97a5e83d73 (patch)
tree2e8143e909ffec1dcba799b2de13586519b908c6
parent23870fea939886a44d7faca43ec43cab360c8536 (diff)
downloadkernel-96bb34013d7c3ac61bc271b73fb2bf97a5e83d73.tar.gz
kernel-96bb34013d7c3ac61bc271b73fb2bf97a5e83d73.tar.xz
kernel-96bb34013d7c3ac61bc271b73fb2bf97a5e83d73.zip
Add fix for virtio rmg
Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
-rw-r--r--patch-5.19-redhat.patch44
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
+