Thread (16 messages) 16 messages, 6 authors, 2022-08-18

Re: upstream kernel crashes

flat view

From: Andres Freund <hidden>
Date: 2022-08-15 17:46:27
Also in: lkml, virtualization

Possibly related (same subject, not in this thread)

Hi,

On 2022-08-15 12:50:52 -0400, Michael S. Tsirkin wrote:
On Mon, Aug 15, 2022 at 09:45:03AM -0700, Andres Freund wrote:
quoted
Hi,

On 2022-08-15 11:40:59 -0400, Michael S. Tsirkin wrote:
quoted
OK so this gives us a quick revert as a solution for now.
Next, I would appreciate it if you just try this simple hack.
If it crashes we either have a long standing problem in virtio
code or more likely a gcp bug where it can't handle smaller
rings than what device requestes.
Thanks!
I applied the below and the problem persists.

[...]
Okay!
Just checking - I applied and tested this atop 6.0-rc1, correct? Or did you
want me to test it with the 762faee5a267 reverted? I guess what you're trying
to test if a smaller queue than what's requested you'd want to do so without
the problematic patch applied...

And just to be 100% sure, can you try the following on top of 5.19:
quoted hunk ↗ jump to hunk
diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c
index 623906b4996c..6f4e54a618bc 100644
--- a/drivers/virtio/virtio_pci_modern.c
+++ b/drivers/virtio/virtio_pci_modern.c
@@ -208,6 +208,9 @@ static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
 		return ERR_PTR(-EINVAL);
 	}
 
+	if (num > 1024)
+		num = 1024;
+
 	info->msix_vector = msix_vec;
 
 	/* create the vring */
-- 
Either way, I did this, and there are no issues that I could observe. No
oopses, no broken networking. But:

To make sure it does something I added a debugging printk - which doesn't show
up. I assume this is at a point at least earlyprintk should work (which I see
getting enabled via serial)?

Greetings,

Andres Freund
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help