Re: [GIT PULL] KVM: Generic and documentation updates for 7.3

Paolo Bonzini <[email protected]>
Newsgroups org.kernel.vger.kvm,org.kernel.vger.linux-kernel
Message-ID <CABgObfaroMnHEw9imhKLxJpL=SmhkGmrn1UO5FdDwvmQNZVxSA@mail.gmail.com>
On Wed, Aug 12, 2026 at 11:32 PM Sean Christopherson <[email protected]> wrote:
>
> So the subject is a bit of a lie, as three of the five patches are x86 specific.
> But two are common documentation updates, and the third has a hard dependency on
> a common KVM change that might be questionable.
>
> The potentially controversial change is to add a per-VM bitmap to track which
> vCPU IDs have been "claimed", so that arch code doesn't have to guard against
> duplicate vCPU IDs during kvm_arch_vcpu_create() and kvm_arch_vcpu_destroy().
> The part that's a little less than awesome is that the bitmap is effectively
> wasted memory once the VM has reached steady state.  But, AFAICT, it shouldn't
> be a meaningful amount of memory in practice.

At 512 bytes per VM, a single struct kvm_vcpu is (more than) ten times
that... Pulled, thanks.

Paolo

> The alternative solution we came up with was to use another xarray so that the
> tracking entry could be deleted once a vCPU is fully realized.  The consensus
> was that the complexity of the xarray approach wasn't justified, even though
> the added complexity is relatively small.
>
> The following changes since commit a204badd8432f93b7e862e7dac6db0fe3d65f370:
>
>   Merge branch 'kvm-chainsaw' into HEAD (2026-06-25 11:32:09 +0200)
>
> are available in the Git repository at:
>
>   https://github.com/kvm-x86/linux.git tags/kvm-x86-generic-7.3
>
> for you to fetch changes up to b41f2ca6c06011c36b75f5d53aa17c05ed90be21:
>
>   KVM: VMX: Fix stale PID-pointer table entry left after vCPU free (2026-07-31 15:13:31 -0700)
>
> ----------------------------------------------------------------
> KVM arch-neutral and documentation changes for 7.3
>
>  - Remove kvm_debugfs_dir if kvm_init() fails after creating KVM's debugfs.
>
>  - Document some of the "fun" gotchas with the APIC base when creating IRQCHIPs
>    on x86.
>
>  - Add a per-VM bitmap to track which vCPU IDs have been "claimed" but for
>    which the vCPU isn't yet online, and use the bitmap to reject duplicate IDs
>    before calling into arch code.  This allows arch code to consume vcpu_id
>    without having to worry about cross-vCPU clobbering (at least s390 and x86
>    have had related bugs).
>
>  - Zero a vCPU's entry in VMX's Posted Interrupt Descriptor table used for IPI
>    virtualization when the vCPU is freed to fix a use-after-free where hardware
>    will write to a freed vCPU's PID.
>
> ----------------------------------------------------------------
> Dmytro Maluka (2):
>       KVM: Check for duplicate vcpu_id as early as possible
>       KVM: VMX: Fix stale PID-pointer table entry left after vCPU free
>
> Tim Wiederhake (2):
>       KVM: x86: Document that KVM_CREATE_IRQCHIP must precede vCPU creation
>       KVM: x86: Document APIC base address constraint for in-kernel irqchip
>
> leixiang (1):
>       KVM: Remove kvm_debugfs_dir on kvm_init() error paths
>
>  Documentation/virt/kvm/api.rst | 15 ++++++++++++++-
>  arch/x86/kvm/vmx/vmx.c         |  3 +++
>  include/linux/kvm_host.h       |  1 +
>  virt/kvm/kvm_main.c            | 10 +++++++++-
>  4 files changed, 27 insertions(+), 2 deletions(-)
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.