From 96bb34013d7c3ac61bc271b73fb2bf97a5e83d73 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Fri, 10 Jun 2022 11:19:50 -0500 Subject: [PATCH] Add fix for virtio rmg Signed-off-by: Justin M. Forbes --- patch-5.19-redhat.patch | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) 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 +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 +Message-Id: <20220608061422.38437-1-jasowang@redhat.com> +Signed-off-by: Michael S. Tsirkin +Reviewed-by: Laurent Vivier +--- + 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 +