Re: [PATCH v5 5/5] vhost/vsock: add VHOST_RESET_OWNER ioctl
Stefano Garzarella <[email protected]> Wed, 22 Jul 2026 11:43:54 +0200
| Newsgroups | dev.linux.lists.virtualization,org.kernel.vger.kvm,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <amCQyzvUwdy9KLzj@sgarzare-redhat> |
On Mon, Jul 20, 2026 at 01:22:41PM +0300, Andrey Drobyshev wrote: >From: Pavel Tikhomirov <[email protected]> > >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 <[email protected]> >Signed-off-by: Andrey Drobyshev <[email protected]> >--- > drivers/vhost/vsock.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) Reviewed-by: Stefano Garzarella <[email protected]>