Re: [PATCH net] vsock/virtio: clear vqs[] to avoid a UAF on a failed PM restore
From: jrmmhm . kernel
Date: Wed Oct 28 2026 - 14:20:05 EST
On Mon, 05 Oct 2026 17:26:50 +0000, netdev-bot+sashiko@xxxxxxxxxx wrote:
> The detach loops now handle NULL vqs, but del_vqs() still runs
> unconditionally. Is a second del_vqs() safe on every transport?
[...]
> Won't __free_irq() hit WARN(1, "Trying to free already-free IRQ %d") here?
Yes. I reproduced it with a virtio-mmio vsock device (QEMU microvm): after
the failed restore, both an unbind and a second freeze warn "Trying to free
already-free IRQ" from vm_del_vqs(). v2 treats an empty vqs[] as "no
virtqueues are live" and then skips the detach loops and del_vqs(), while
still resetting the device.
> Are the virtio_rtc and virtio_console references accurate?
They are not, thanks. v2 cites only the virtio_blk commit and keeps the
commit ID out of the code comment.
I'll send v2 as a new thread.
pw-bot: cr