OpenVZ / Virtuozzo kernel development (devel@openvz.org)
 help / color / mirror / Atom feed
From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
To: devel@openvz.org
Subject: [Devel] [PATCH hci-8.1 v2 0/2] vfio, KVM: kvm reference leak and debugfs clash on live update
Date: Thu,  5 Nov 2026 14:17:31 +0200	[thread overview]
Message-ID: <20261105121733.643754-1-andrey.drobyshev@virtuozzo.com> (raw)

A live update keeps the passthrough device open while the VM is
re-created.  The device holds a reference to the kvm it was opened
with, so the first VM is never destroyed until the device closes, and
the new VM, on the same pid and fd number, finds its debugfs directory
taken.

Patch 1 takes that reference only for the drivers that read
device->kvm.  Patch 2 removes the debugfs directory when the VM's fd
is released.

Tested with 30 live updates of a vGPU VM (RTX 6000 Ada SR-IOV VF)
under guest DMA load, then 4 live migrations between two such nodes:
one KVM instance after every update, no "duplicate directory", no
mismatches.

v1 -> v2:

- Patch 1: the reference is no longer moved to the new kvm, which
  changed device->kvm under KVMGT; it's taken only for drivers that
  opt in with needs_kvm_ref.  Fixes tag, tested driver named

- Patch 2: only the directory is removed at fd release, the stat data
  stays until kvm_destroy_vm() (use-after-free in v1); the message
  notes the uevent and vcpu-fd changes

- Both: Feature: lines, single spaces

v1: http://lore.virtuozzo.com/20261030144933.944360-1-andrey.drobyshev@virtuozzo.com


Andrey Drobyshev (2):
  vfio: take the kvm reference only for drivers that read device->kvm
  KVM: remove the VM's debugfs directory when its fd is released

 drivers/gpu/drm/i915/gvt/kvmgt.c  |  1 +
 drivers/s390/crypto/vfio_ap_ops.c |  1 +
 drivers/vfio/pci/vfio_pci_core.c  |  1 +
 drivers/vfio/vfio_main.c          |  6 ++++--
 include/linux/vfio.h              |  6 ++++++
 virt/kvm/kvm_main.c               | 18 ++++++++++++++----
 6 files changed, 27 insertions(+), 6 deletions(-)

-- 
2.47.1

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

             reply	other threads:[~2026-11-05 12:19 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-05 12:17 Andrey Drobyshev [this message]
2026-11-05 12:17 ` [Devel] [PATCH hci-8.1 1/2] vfio: take the kvm reference only for drivers that read device->kvm Andrey Drobyshev
2026-11-05 12:23   ` no-reply
2026-11-05 12:54   ` Konstantin Khorenko
2026-11-05 12:17 ` [Devel] [PATCH hci-8.1 2/2] KVM: remove the VM's debugfs directory when its fd is released Andrey Drobyshev
2026-11-05 12:24   ` no-reply
2026-11-05 12:54   ` Konstantin Khorenko
2026-11-05 12:54 ` [Devel] [PATCH hci-8.1 v2 0/2] vfio, KVM: kvm reference leak and debugfs clash on live update Konstantin Khorenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261105121733.643754-1-andrey.drobyshev@virtuozzo.com \
    --to=andrey.drobyshev@virtuozzo.com \
    --cc=devel@openvz.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox