summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2026-08-31 22:26:39 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2026-09-04 17:34:05 +0200
commit301a5ced32e08e96212b413e896ef4c32d1ce961 (patch)
treef551a4dec240f26562ded1ff851d1846288a7d17 /scripts/Makefile.thinlto
parent1835551d4304abb1edcbf5d1ba71945279051236 (diff)
downloadlinux-next-301a5ced32e08e96212b413e896ef4c32d1ce961.tar.gz
linux-next-301a5ced32e08e96212b413e896ef4c32d1ce961.zip
KVM: x86/xen: Use 32-bit atomics if vCPU's evtchn_pending_sel isn't aligned
When propagating pending Xen events from KVM's "cache" to the guest-visible structure, use two 32-bit atomic operations to do the bitwise-OR into the guest-controlled structure if the structure isn't 64-bit aligned, i.e. if the guest registered its vcpu_info in 32-bit mode and then switched to 64-bit mode, in which case using a 64-bit atomic OR will generate a split-lock #AC (if enabled). Opportunistically isolate the clearing of the bits from KVM's cache, as that structure is KVM-controlled, i.e. is guaranteed to be 64-bit aligned. This will allow dropping the open-coded inline asm blobs in the future. [dwmw2: Cast to u64 before shifting; evtchn_pending_sel is unsigned long, so >> 32 is undefined on 32-bit even though the branch is unreachable there] Fixes: 14243b387137 ("KVM: x86/xen: Add KVM_IRQ_ROUTING_XEN_EVTCHN and event channel delivery") Reported-by: sashiko-bot@kernel.org Closes: https://lore.kernel.org/all/20260604193554.1BA311F00893@smtp.kernel.org Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202608071502.rYOi3Pg8-lkp@intel.com/ Signed-off-by: Sean Christopherson <seanjc@google.com> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Paul Durrant <paul@xen.org> Link: https://patch.msgid.link/20260831213632.81023-9-dwmw2@infradead.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions