x86/entry: Compile entry_SYSCALL32_ignore() unconditionally
authorNikolay Borisov <nik.borisov@suse.com>
Fri, 23 Jun 2023 11:14:06 +0000 (14:14 +0300)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 14 Sep 2023 11:19:53 +0000 (13:19 +0200)
To limit the IA32 exposure on 64bit kernels while keeping the
flexibility for the user to enable it when required, the compile time
enable/disable via CONFIG_IA32_EMULATION is not good enough and will
be complemented with a kernel command line option.

Right now entry_SYSCALL32_ignore() is only compiled when
CONFIG_IA32_EMULATION=n, but boot-time enable- / disablement obviously
requires it to be unconditionally available.

Remove the #ifndef CONFIG_IA32_EMULATION guard.

Signed-off-by: Nikolay Borisov <nik.borisov@suse.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20230623111409.3047467-4-nik.borisov@suse.com
arch/x86/entry/entry_64.S

index 3be71accb7a0600b46311aac0a6a3af64022c39b..f71664dea1a3b33e37ae4173b5afb5b66a15421b 100644 (file)
@@ -1511,7 +1511,6 @@ nmi_restore:
        iretq
 SYM_CODE_END(asm_exc_nmi)
 
-#ifndef CONFIG_IA32_EMULATION
 /*
  * This handles SYSCALL from 32-bit code.  There is no way to program
  * MSRs to fully disable 32-bit SYSCALL.
@@ -1522,7 +1521,6 @@ SYM_CODE_START(entry_SYSCALL32_ignore)
        mov     $-ENOSYS, %eax
        sysretl
 SYM_CODE_END(entry_SYSCALL32_ignore)
-#endif
 
 .pushsection .text, "ax"
        __FUNC_ALIGN