Re: [PATCH v5 5/5] vhost/vsock: add VHOST_RESET_OWNER ioctl
From: Stefano Garzarella
Date: Wed Jul 22 2026 - 05:51:46 EST
On Mon, Jul 20, 2026 at 01:22:41PM +0300, Andrey Drobyshev wrote:
From: Pavel Tikhomirov <ptikhomirov@xxxxxxxxxxxxx>
This ioctl is needed for QEMU's CPR (checkpoint-restore) migration of
the guest with vhost-vsock device. For this to work, we need to reset
the device ownership on the source side by calling RESET_OWNER, and then
claim it on the dest side by calling SET_OWNER. We expect not to lose any
AF_VSOCK connection while this happens.
To that end, unlike the release path, RESET_OWNER keeps the guest CID
hashed: established connections survive, and host sends issued while
the device is between owners simply stay on send_pkt_queue until the
next device start drains them.
Since the device stays reachable through the CID hash, the lockless
send/cancel paths can race with the worker teardown in
vhost_workers_free(). The previous commit ("vhost: synchronize with
RCU readers when freeing workers") makes that safe.
Signed-off-by: Pavel Tikhomirov <ptikhomirov@xxxxxxxxxxxxx>
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@xxxxxxxxxxxxx>
---
drivers/vhost/vsock.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Reviewed-by: Stefano Garzarella <sgarzare@xxxxxxxxxx>