You have been subscribed to a public bug by Dong Liang (qidong-ld): In the Ubuntu 24's 6.8.0-31-generic kernel version, the capability https://github.com/torvalds/linux/commit/fd27ef6b44bec26915c5b2b22c13856d9f0ba17a (virtio-pci: Introduce admin virtqueue) was added. However, an issue was overlooked by the upstream community, which is that if the virtio device is not a modern virtio device, but a legacy virtio device, the is_avq function pointer is not assigned, resulting in a NULL pointer for the is_avq function pointer in the virtio_pci_device structure of the legacy virtio device. When unloading the virtio device, if the code calls if (vp_dev->is_avq(vdev, vq->index)), the RIP register of the CPU points to a NULL pointer address.
I have noticed that the kernel community has already included a related solution, and I hope that the Ubuntu kernel can backport to support the remove operation for legacy virtio devices: https://github.com/torvalds/linux/commit/c8fae27d141a32a1624d0d0d5419d94252824498 (virtio-pci: Check if is_avq is NULL). ** Affects: linux (Ubuntu) Importance: Undecided Status: New -- remove virtio legacy device make kernel Oops https://bugs.launchpad.net/bugs/2067862 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to the bug report. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs