mbox series

[GIT,PULL] KVM changes for Linux 6.15-rc3

Message ID 20250418130644.227320-1-pbonzini@redhat.com (mailing list archive)
State New
Headers show
Series [GIT,PULL] KVM changes for Linux 6.15-rc3 | expand

Pull-request

https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

Message

Paolo Bonzini April 18, 2025, 1:06 p.m. UTC
Linus,

The following changes since commit 8ffd015db85fea3e15a77027fda6c02ced4d2444:

  Linux 6.15-rc2 (2025-04-13 11:54:49 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

for you to fetch changes up to 9cf353943e2a1f2904062ea0e619402790289a9b:

  KVM: x86: Do not use kvm_rip_read() unconditionally for KVM_PROFILING (2025-04-15 07:42:46 -0400)

----------------------------------------------------------------
x86:

* Bugfixes from a planned posted interrupt rework

* Do not use kvm_rip_read() unconditionally to cater for guests
  with inaccessible register state.

----------------------------------------------------------------
Adrian Hunter (2):
      KVM: x86: Do not use kvm_rip_read() unconditionally in KVM tracepoints
      KVM: x86: Do not use kvm_rip_read() unconditionally for KVM_PROFILING

Sean Christopherson (8):
      KVM: SVM: Don't update IRTEs if APICv/AVIC is disabled
      KVM: SVM: Allocate IR data using atomic allocation
      KVM: x86: Reset IRTE to host control if *new* route isn't postable
      KVM: x86: Explicitly treat routing entry type changes as changes
      KVM: x86: Take irqfds.lock when adding/deleting IRQ bypass producer
      iommu/amd: Return an error if vCPU affinity is set for non-vCPU IRTE
      iommu/amd: WARN if KVM attempts to set vCPU affinity without posted intrrupts
      KVM: SVM: WARN if an invalid posted interrupt IRTE entry is added

 arch/x86/kvm/svm/avic.c        | 68 +++++++++++++++++++++++-------------------
 arch/x86/kvm/trace.h           | 13 ++++++--
 arch/x86/kvm/vmx/posted_intr.c | 28 +++++++----------
 arch/x86/kvm/x86.c             | 23 +++++++++++---
 drivers/iommu/amd/iommu.c      | 15 +++-------
 5 files changed, 80 insertions(+), 67 deletions(-)

Comments

Linus Torvalds April 18, 2025, 4:13 p.m. UTC | #1
On Fri, 18 Apr 2025 at 06:06, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>   https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

I pulled this, but then I unpulled it, because this doesn't work for
me AT ALL. I get

   ERROR: modpost: "kvm_arch_has_irq_bypass" [arch/x86/kvm/kvm-amd.ko]
undefined!

when building it. I assume it's due to the change in commit
73e0c567c24a ("KVM: SVM: Don't update IRTEs if APICv/AVIC is
disabled") but didn't check any closer.

I think it's literally just because that symbol isn't exported, but I
also suspect that the *right* fix is to make that function be an
inline function that doesn't *need* to be exported.

So I'm not going to add the trivial EXPORT_SYMBOL_GPL() line, since I
suspect the real fix is different.

               Linus
Paolo Bonzini April 18, 2025, 5:06 p.m. UTC | #2
On Fri, Apr 18, 2025 at 6:13 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Fri, 18 Apr 2025 at 06:06, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >   https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus
>
> I pulled this, but then I unpulled it, because this doesn't work for
> me AT ALL. I get
>
>    ERROR: modpost: "kvm_arch_has_irq_bypass" [arch/x86/kvm/kvm-amd.ko]
> undefined!
>
> when building it. I assume it's due to the change in commit
> 73e0c567c24a ("KVM: SVM: Don't update IRTEs if APICv/AVIC is
> disabled") but didn't check any closer.

Yep.

> I think it's literally just because that symbol isn't exported, but I
> also suspect that the *right* fix is to make that function be an
> inline function that doesn't *need* to be exported.

Yes, that's possible since enable_apicv is already exported. Sorry for
the screwup.

Paolo
Sean Christopherson April 18, 2025, 5:51 p.m. UTC | #3
On Fri, Apr 18, 2025, Paolo Bonzini wrote:
> On Fri, Apr 18, 2025 at 6:13 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > On Fri, 18 Apr 2025 at 06:06, Paolo Bonzini <pbonzini@redhat.com> wrote:
> > >   https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus
> >
> > I pulled this, but then I unpulled it, because this doesn't work for
> > me AT ALL. I get
> >
> >    ERROR: modpost: "kvm_arch_has_irq_bypass" [arch/x86/kvm/kvm-amd.ko]
> > undefined!
> >
> > when building it. I assume it's due to the change in commit
> > 73e0c567c24a ("KVM: SVM: Don't update IRTEs if APICv/AVIC is
> > disabled") but didn't check any closer.
> 
> Yep.
> 
> > I think it's literally just because that symbol isn't exported, but I
> > also suspect that the *right* fix is to make that function be an
> > inline function that doesn't *need* to be exported.
> 
> Yes, that's possible since enable_apicv is already exported. Sorry for
> the screwup.

FWIW, the fixes here came from a big series that was dependent on a much (much)
smaller series that did export kvm_arch_has_irq_bypass(), and that got missed
when these fixes were grabbed early.

But I agree that inlining the thing is a better solution.

https://lore.kernel.org/all/20250401161804.842968-2-seanjc@google.com