]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: VMX: Use arch_xchg() when processing PIR to avoid instrumentation
authorSean Christopherson <seanjc@google.com>
Tue, 1 Apr 2025 16:34:46 +0000 (09:34 -0700)
committerSean Christopherson <seanjc@google.com>
Thu, 24 Apr 2025 18:19:40 +0000 (11:19 -0700)
Use arch_xchg() when moving IRQs from the PIR to the vIRR, purely to avoid
instrumentation so that KVM is compatible with the needs of posted MSI.
This will allow extracting the core PIR logic to common code and sharing
it between KVM and posted MSI handling.

Link: https://lore.kernel.org/r/20250401163447.846608-8-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/lapic.c

index bc56775426c90ae3e6558bdfc876caae4db2954a..70ad5f0942e27e3d933724933162c0c16b95c7d7 100644 (file)
@@ -678,7 +678,7 @@ bool __kvm_apic_update_irr(unsigned long *pir, void *regs, int *max_irr)
                if (!pir_vals[i])
                        continue;
 
-               pir_vals[i] = xchg(&pir[i], 0);
+               pir_vals[i] = arch_xchg(&pir[i], 0);
        }
 
        for (i = vec = 0; i <= 7; i++, vec += 32) {