linux-stable/arch/x86
Thomas Gleixner 55617fb991 x86/entry: Do not allow external 0x80 interrupts
The INT 0x80 instruction is used for 32-bit x86 Linux syscalls. The
kernel expects to receive a software interrupt as a result of the INT
0x80 instruction. However, an external interrupt on the same vector
also triggers the same codepath.

An external interrupt on vector 0x80 will currently be interpreted as a
32-bit system call, and assuming that it was a user context.

Panic on external interrupts on the vector.

To distinguish software interrupts from external ones, the kernel checks
the APIC ISR bit relevant to the 0x80 vector. For software interrupts,
this bit will be 0.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: <stable@vger.kernel.org> # v6.0+
2023-12-07 09:51:29 -08:00
..
boot * Refactor and clean up TDX hypercall/module call infrastructure 2023-11-01 10:28:32 -10:00
coco x86/coco: Disable 32-bit emulation by default on TDX and SEV 2023-12-07 09:51:10 -08:00
configs hardening updates for v6.7-rc1 2023-10-30 19:09:55 -10:00
crypto crypto: x86/nhpoly1305 - implement ->digest 2023-10-20 13:39:25 +08:00
entry x86/entry: Do not allow external 0x80 interrupts 2023-12-07 09:51:29 -08:00
events perf/x86/intel: Correct incorrect 'or' operation for PMU capabilities 2023-11-21 13:44:36 +01:00
hyperv hyperv-fixes for 6.7-rc3 2023-11-22 09:56:26 -08:00
ia32
include x86/entry: Convert INT 0x80 emulation to IDTENTRY 2023-12-07 09:51:29 -08:00
kernel x86/entry: Convert INT 0x80 emulation to IDTENTRY 2023-12-07 09:51:29 -08:00
kvm Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
lib x86 assembly code improvements for v6.7 are: 2023-10-30 14:18:00 -10:00
math-emu
mm x86/coco: Disable 32-bit emulation by default on TDX and SEV 2023-12-07 09:51:10 -08:00
net bpf: Disable exceptions when CONFIG_UNWINDER_FRAME_POINTER=y 2023-09-19 02:07:36 -07:00
pci x86/PCI: Avoid PME from D3hot/D3cold for AMD Rembrandt and Phoenix USB4 2023-10-06 09:09:47 -05:00
platform x86/platform/uv: Annotate struct uv_rtc_timer_head with __counted_by 2023-09-24 12:02:58 +02:00
power
purgatory x86/purgatory: Remove LTO flags 2023-09-17 09:49:03 +02:00
ras
realmode
tools
um UML: remove unused cmd_vdso_install 2023-10-18 17:16:09 +09:00
video fbdev: Replace fb_pgprotect() with pgprot_framebuffer() 2023-10-12 09:20:46 +02:00
virt x86/virt/tdx: Make TDX_MODULE_CALL handle SEAMCALL #UD and #GP 2023-09-12 16:30:27 -07:00
xen x86/entry: Convert INT 0x80 emulation to IDTENTRY 2023-12-07 09:51:29 -08:00
.gitignore
Kbuild
Kconfig Major microcode loader restructuring, cleanup and improvements by Thomas 2023-11-04 08:46:37 -10:00
Kconfig.assembler
Kconfig.cpu
Kconfig.debug
Makefile Kbuild updates for v6.7 2023-11-04 08:07:19 -10:00
Makefile.postlink kbuild: remove ARCH_POSTLINK from module builds 2023-10-28 21:10:08 +09:00
Makefile.um
Makefile_32.cpu