linux-yocto/arch/x86
David Woodhouse a7f4dff21f KVM: x86/xen: Allow 'out of range' event channel ports in IRQ routing table.
To avoid imposing an ordering constraint on userspace, allow 'invalid'
event channel targets to be configured in the IRQ routing table.

This is the same as accepting interrupts targeted at vCPUs which don't
exist yet, which is already the case for both Xen event channels *and*
for MSIs (which don't do any filtering of permitted APIC ID targets at
all).

If userspace actually *triggers* an IRQ with an invalid target, that
will fail cleanly, as kvm_xen_set_evtchn_fast() also does the same range
check.

If KVM enforced that the IRQ target must be valid at the time it is
*configured*, that would force userspace to create all vCPUs and do
various other parts of setup (in this case, setting the Xen long_mode)
before restoring the IRQ table.

Cc: stable@vger.kernel.org
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
Link: https://lore.kernel.org/r/e489252745ac4b53f1f7f50570b03fb416aa2065.camel@infradead.org
[sean: massage comment]
Signed-off-by: Sean Christopherson <seanjc@google.com>
2025-06-24 12:20:17 -07:00
..
boot - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
coco hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
configs fs: remove uselib() system call 2025-04-21 10:27:59 +02:00
crypto crypto: x86/sha256 - implement library instead of shash 2025-05-05 18:20:44 +08:00
entry Two changes to simplify the x86 vDSO code a bit. 2025-05-26 21:21:12 -07:00
events perf/x86/intel: Fix incorrect MSR index calculations in intel_pmu_config_acr() 2025-05-31 10:05:16 +02:00
hyperv hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
ia32
include KVM: x86/hyper-v: Use preallocated per-vCPU buffer for de-sparsified vCPU masks 2025-06-24 12:20:16 -07:00
kernel Merge branch 'pm-cpuidle' 2025-06-13 21:28:07 +02:00
kvm KVM: x86/xen: Allow 'out of range' event channel ports in IRQ routing table. 2025-06-24 12:20:17 -07:00
lib Core x86 updates for v6.16: 2025-05-26 16:04:17 -07:00
math-emu x86/fpu: Convert task_struct::thread.fpu accesses to use x86_task_fpu() 2025-04-14 08:18:29 +02:00
mm - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
net Merge commit 'its-for-linus-20250509-merge' into x86/core, to resolve conflicts 2025-05-13 10:47:10 +02:00
pci pci-v6.16-changes 2025-06-04 11:26:17 -07:00
platform Merge branch 'x86/msr' into x86/core, to resolve conflicts 2025-05-13 10:42:06 +02:00
power x86/smp: PM/hibernate: Split arch_resume_nosmt() 2025-06-07 14:22:56 +02:00
purgatory
ras
realmode - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
tools x86/insn: Stop decoding i64 instructions in x86-64 mode at opcode 2025-05-06 12:03:16 +02:00
um Notable changes: 2025-06-05 11:45:33 -07:00
video
virt ARM: 2025-05-29 08:10:01 -07:00
xen x86/xen/msr: Fix uninitialized variable 'err' 2025-05-21 08:44:31 +02:00
.gitignore
Kbuild
Kconfig - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
Kconfig.assembler Core x86 updates for v6.16: 2025-05-26 16:04:17 -07:00
Kconfig.cpu
Kconfig.cpufeatures x86/mm/64: Make 5-level paging support unconditional 2025-05-17 10:38:16 +02:00
Kconfig.debug
Makefile Add the CONFIG_X86_NATIVE_CPU=y build option to locally optimize the kernel 2025-05-26 21:41:14 -07:00
Makefile_32.cpu
Makefile.um