linux/arch/x86/kernel
Linus Torvalds 156fa7417f x86 fixes:
- Reject the loading of a potentially problematic microcode version
    on Intel Granite Rapids systems (Chang S. Bae)
 
  - On FRED, reconstruct the proper #GP context for rejected INT
    instructions, to fix a signal ABI regression (Matthew Schwartz)
 
  - Add a test for this signal ABI regression the x86
    self-test suite (Matthew Schwartz)
 
  - Don't emit the new and not yet properly supported EGPR instructions
    (%r16-%r31) on CONFIG_X86_NATIVE_CPU=y builds (Chang S. Bae)
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmqvrhgRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1inbQ/9G4Q0h9esQ945n0uYRYvVLuj2P8DvE3XN
 9d5IJ5pIYdhJCvlv8yXyv1u3sq59QYNmUgpBMghHJonhqobtnchvBSiznoAMgi8L
 yjRlcaFBPX9qjFQV1W9WJQuUHhW/12QFy9Bo9n1uXEv6pYspYVDwodCaS+rEvkTF
 0wK3TjETv90TravGjFscYTt2VLAiy+cd/FxkUA0sBaMLjhFpUyAPHGJe/vcf8vT3
 rEXkY8EeSjv5F6eKMTDVacrSZu2c9wco1bJIsSFEcxZGFzhDbuCOGiDCkwmB3uuD
 ReKbEUC0KmF8qd4Ubf0dMGpbHT9LDu9Ggex619cHFOHMupPubP+yym7aCpm3v7Sb
 gZe6eV6VrSREJ+oBVKsqMrWXsg1YDj6uJhC/5K3S78xBeRq64kKsmBbC93Zp20TC
 QpSAxKIFqp8C+tfKzpBmcSbcipRUfATJxLjp94QaQDp467jjJCvpDJdc12mV7WR9
 0gMtFjxUaIe8BGX7s2PuWPgZ8+CIH0hZQuttxUU4QWvM2RGU+QrDaMwTeAY7wme4
 xomc0wpXQb5enrjmFu8betlD0xfjgt7k6eW0njezRpWSk3wyHDd5w/6Vfn8pA6Fx
 AQV4UuszXzQmG+W2pdIjLhnjmsjEeWMpmwgzn0rkcqujWHeh8XOSvQIjULFrFtFv
 srSbum6vEfk=
 =MP1H
 -----END PGP SIGNATURE-----

Merge tag 'x86-urgent-2026-09-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:

 - Reject the loading of a potentially problematic microcode version
   on Intel Granite Rapids systems (Chang S. Bae)

 - On FRED, reconstruct the proper #GP context for rejected INT
   instructions, to fix a signal ABI regression (Matthew Schwartz)

 - Add a test for this signal ABI regression the x86
   self-test suite (Matthew Schwartz)

 - Don't emit the new and not yet properly supported EGPR instructions
   (%r16-%r31) on CONFIG_X86_NATIVE_CPU=y builds (Chang S. Bae)

* tag 'x86-urgent-2026-09-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/build/64: Prevent native builds from generating EGPR use
  selftests/x86: Check signal state for rejected software interrupts
  x86/fred: Reconstruct the #GP context for rejected INT instructions
  x86/microcode/intel: Reject problematic loading on Granite Rapids systems
2026-09-20 09:49:10 -07:00
..
acpi - Get rid of static_cpu_has() - one less API to care about testing CPU 2026-08-18 19:09:42 -07:00
apic - Get rid of static_cpu_has() - one less API to care about testing CPU 2026-08-18 19:09:42 -07:00
cpu x86/microcode/intel: Reject problematic loading on Granite Rapids systems 2026-09-17 16:54:20 -07:00
fpu - Get rid of static_cpu_has() - one less API to care about testing CPU 2026-08-18 19:09:42 -07:00
kprobes x86/kprobes: Fix crash when probing CS CALL instructions 2026-09-17 09:48:42 +02:00
.gitignore
alternative.c x86/kprobes: Fix crash when probing CS CALL instructions 2026-09-17 09:48:42 +02:00
amd_gart_64.c dma-direct: pass attrs to dma_capable() for DMA_ATTR_CC_SHARED checks 2026-07-31 08:40:59 +02:00
amd_nb.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
amd_node.c x86/amd_node: Fix PCI device reference counting in amd_smn_init() 2026-09-10 18:05:43 -07:00
aperture_64.c x86/platform/amd: Move the <asm/amd_nb.h> header to <asm/amd/nb.h> 2025-04-14 09:34:14 +02:00
apm_32.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
asm-offsets_32.c x86/asm-offsets: Export certain 'struct cpuinfo_x86' fields for 64-bit asm use too 2025-05-15 09:12:07 +02:00
asm-offsets_64.c x86/stackprotector/64: Convert to normal per-CPU variable 2025-02-18 10:15:09 +01:00
asm-offsets.c x86/entry/vdso32: Remove open-coded DWARF in sigreturn.S 2026-01-13 16:37:58 -08:00
audit_64.c
bootflag.c x86/bootflag: Replace open-coded parity calculation with parity8() 2025-02-27 14:00:30 +01:00
callthunks.c x86/paravirt: Remove not needed includes of paravirt.h 2026-01-12 11:26:52 +01:00
cet.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
cfi.c x86/kcfi: Optimize call sequence 2026-07-30 12:59:22 +02:00
check.c
cpuid.c x86/cpuid: Rename cpuid_leaf()/cpuid_subleaf() APIs 2026-05-08 23:10:14 +02:00
crash_dump_32.c
crash_dump_64.c
crash.c x86/crash: Use crash_prepare_headers() helper to simplify code 2026-06-30 18:49:06 +03:00
devicetree.c x86/dt: Parse the Wakeup Mailbox for Intel processors 2026-05-28 20:01:25 +00:00
doublefault_32.c
dumpstack_32.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
dumpstack_64.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
dumpstack.c x86/dumpstack: Prevent KASAN false positive warnings in __show_regs() 2025-10-29 13:07:21 +01:00
e820.c x86/boot/e820: Re-enable BIOS fallback if e820 table is empty 2026-05-07 10:04:54 +02:00
early_printk.c Linux 6.15-rc4 2025-05-06 12:03:03 +02:00
early-quirks.c
ebda.c
eisa.c
espfix_64.c
fred.c x86/fred: Remove kernel log message when initializing exceptions 2026-03-27 16:38:24 +01:00
ftrace_32.S fgraph: Replace fgraph_ret_regs with ftrace_regs 2024-12-26 10:50:02 -05:00
ftrace_64.S x86/fgraph: Fix return_to_handler regs.rsp value 2026-01-30 13:40:08 -08:00
ftrace.c x86/ftrace: Relocate %rip-relative percpu refs in dynamic trampolines 2026-05-27 15:23:37 -07:00
head_32.S arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
head_64.S arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
head32.c x86/microcode: Consolidate the loader enablement checking 2025-05-05 10:51:00 +02:00
head64.c x86/boot: Create a confined code area for startup code 2025-09-03 18:00:01 +02:00
hpet.c clocksource: Rewrite watchdog code completely 2026-03-20 13:36:32 +01:00
hw_breakpoint.c x86: Restrict KVM-induced symbol exports to KVM modules where obvious/possible 2025-11-12 15:29:38 -08:00
i8237.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
i8253.c x86/cpu: Remove unused !CONFIG_X86_TSC code 2026-06-11 10:25:34 +02:00
i8259.c x86/irq: Move IOAPIC misrouted and PIC/APIC error counts into irq_stats 2026-05-26 16:21:12 +02:00
ibt_selftest.S
idt.c x86/kvm/vmx: Fix x86_64 CFI build 2026-05-28 11:31:50 +02:00
io_delay.c
ioport.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
irq_32.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
irq_64.c x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
irq_work.c x86/irq: Make irqstats array based 2026-05-26 16:21:12 +02:00
irq.c x86/irq: Add missing 's' back to thermal event printout 2026-06-13 15:47:59 +02:00
irqflags.S x86/cfi: Clean up linkage 2025-02-14 10:32:05 +01:00
irqinit.c x86/fred: Install system vector handlers even if FRED isn't fully enabled 2025-08-18 14:23:08 +02:00
itmt.c x86/itmt: Don't make ITMT enablement depend on debugfs 2026-09-02 09:17:50 +02:00
jailhouse.c treewide: Explicitly include the x86 CPUID headers 2026-05-06 14:29:59 +02:00
jump_label.c x86/alternatives: Rename 'text_poke_queue()' to 'smp_text_poke_batch_add()' 2025-04-11 11:01:33 +02:00
kdebugfs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
kexec-bzimage64.c crash_dump/dm-crypt: don't print in arch-specific code 2026-04-02 23:36:24 -07:00
kgdb.c kgdb: update outdated references to kgdb_wait() 2026-04-21 16:41:54 +01:00
ksysfs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
kvm.c * Fix pkey_alloc() return value when pkeys are not supported 2026-08-18 17:44:09 -07:00
kvmclock.c x86/kvmclock: Implement read_snapshot() for kvmclock clocksource 2026-06-05 14:25:03 +02:00
ldt.c x86/cpu: Hide and rename static_cpu_has() 2026-07-06 21:34:26 -07:00
machine_kexec_32.c x86/mm: Fix _pgd_alloc() for Xen PV mode 2025-04-23 07:49:14 -07:00
machine_kexec_64.c x86/tdx: Disable the TDX module during kexec and kdump 2026-04-27 15:13:39 -07:00
Makefile x86/cpu: Remove unused !CONFIG_X86_TSC code 2026-06-11 10:25:34 +02:00
mmconf-fam10h_64.c x86/msr: Rename 'wrmsrl()' to 'wrmsrq()' 2025-04-10 11:58:33 +02:00
module.c x86/alternative: Drop smp_locks glue 2026-07-13 09:23:36 -07:00
mpparse.c
msr.c x86/msr: Document the I/O-like write semantics in the msr driver 2026-07-20 19:57:33 -07:00
nmi_selftest.c x86/nmi: Clean up NMI selftest 2025-04-01 22:26:32 +02:00
nmi.c Interrupt core code changes: 2026-06-15 13:19:41 +05:30
paravirt-spinlocks.c x86/paravirt: Trace contended_release on unlock 2026-08-07 17:58:10 +02:00
paravirt.c x86/cpu updates for v7.2: 2026-06-15 15:25:17 +05:30
pci-dma.c dma-direct: make dma_direct_map_phys() honor DMA_ATTR_CC_SHARED 2026-07-31 08:44:03 +02:00
pcspeaker.c
perf_regs.c
platform-quirks.c
pmem.c x86/pmem: Check for platform_device_alloc() retval 2026-06-04 08:31:56 -07:00
probe_roms.c
process_32.c x86/process/32: Use correct type for 'gs' variable in __show_regs() to avoid zero-extension 2026-03-31 09:50:10 +02:00
process_64.c x86/cpu: Hide and rename static_cpu_has() 2026-07-06 21:34:26 -07:00
process.c x86/cpu: Hide and rename static_cpu_has() 2026-07-06 21:34:26 -07:00
process.h
ptrace.c x86/ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:48 -07:00
pvclock.c
quirks.c x86/platform: Fix missing declaration of 'x86_apple_machine' 2025-02-27 22:52:37 +01:00
reboot_fixups_32.c x86/msr: Rename 'wrmsrl()' to 'wrmsrq()' 2025-04-10 11:58:33 +02:00
reboot.c Arm: 2026-04-17 07:18:03 -07:00
relocate_kernel_32.S x86/asm: Remove semicolon from "rep" prefixes 2025-04-18 09:33:33 +02:00
relocate_kernel_64.S x86/kexec: Push kjump return address even for non-kjump kexec 2026-05-08 17:00:12 +02:00
resource.c pcmcia: remove obsolete host controller drivers 2026-03-30 07:28:13 +02:00
rethook.c objtool: Remove newlines and tabs from annotation macros 2025-12-03 19:42:37 +01:00
rtc.c x86: rtc: Drop PNP device check 2026-02-26 18:48:43 +01:00
setup_percpu.c x86/smp: Move this_cpu_off to percpu hot section 2025-03-04 20:30:33 +01:00
setup.c Bootconfig updates for v7.3: 2026-08-25 08:59:09 -07:00
sev_verify_cbit.S
shstk.c x86/shstk: Prevent deadlock during shstk sigreturn 2026-04-20 22:54:24 +02:00
signal_32.c x86/cpu: Hide and rename static_cpu_has() 2026-07-06 21:34:26 -07:00
signal_64.c x86/fred/signal: Prevent immediate repeat of single step trap on return from SIGTRAP handler 2025-06-09 08:50:58 -07:00
signal.c x86/fpu: Convert task_struct::thread.fpu accesses to use x86_task_fpu() 2025-04-14 08:18:29 +02:00
smp.c x86/irq: Make irqstats array based 2026-05-26 16:21:12 +02:00
smpboot.c x86/alternative: Drop smp_locks glue 2026-07-13 09:23:36 -07:00
stacktrace.c
static_call.c x86/paravirt: Use static_call() for the paravirt spinlock ops 2026-08-07 17:58:09 +02:00
step.c
sys_ia32.c fs: fix archiecture-specific compat_ftruncate64 2026-03-23 12:41:57 +01:00
sys_x86_64.c
tboot.c x86/e820: Drop obsolete E820_TYPE_RESERVED_KERN and related code 2025-02-21 16:05:00 +01:00
time.c x86/cpu: Hide and rename static_cpu_has() 2026-07-06 21:34:26 -07:00
tls.c x86/tls: Clean up 'sel' variable usage in do_set_thread_area() 2026-03-31 09:50:11 +02:00
tls.h
trace_clock.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
trace.c
traps.c x86/fpu: Remove MATH_EMULATION and related glue code 2026-05-08 07:33:03 +02:00
tsc_msr.c x86/tsc: Stop using 32-bit MSR interfaces 2026-07-02 11:54:52 +02:00
tsc_sync.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
tsc.c x86/tsc: Stop using 32-bit MSR interfaces 2026-07-02 11:54:52 +02:00
umip.c x86/traps: Consolidate user fixups in the #GP handler 2026-03-19 15:11:13 -07:00
unwind_frame.c
unwind_guess.c
unwind_orc.c objtool/x86: Reorder ORC register numbering 2026-03-18 09:38:52 +01:00
uprobes.c uprobes/x86: Move optimized uprobe from nop5 to nop10 2026-07-03 16:30:36 +02:00
verify_cpu.S x86/cpufeatures: Generate the <asm/cpufeaturemasks.h> header based on build config 2025-03-19 11:15:11 +01:00
vm86_32.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vmcore_info_32.c
vmcore_info_64.c
vmlinux.lds.S - Get rid of static_cpu_has() - one less API to care about testing CPU 2026-08-18 19:09:42 -07:00
vsmp_64.c x86/paravirt: Remove not needed includes of paravirt.h 2026-01-12 11:26:52 +01:00
x86_init.c x86/realmode: Make the location of the trampoline configurable 2026-05-28 20:01:25 +00:00