OSDN Git Service

x86/syscall: Unconditionally prototype {ia32,x32}_sys_call_table[]
authorH. Peter Anvin (Intel) <hpa@zytor.com>
Mon, 10 May 2021 18:53:12 +0000 (11:53 -0700)
committerIngo Molnar <mingo@kernel.org>
Wed, 12 May 2021 08:49:15 +0000 (10:49 +0200)
Even if these APIs are disabled, and the arrays therefore do not
exist, having the prototypes allows us to use IS_ENABLED() rather than
using #ifdefs.

If something ends up trying to actually *use* these arrays a linker
error will ensue.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20210510185316.3307264-4-hpa@zytor.com
arch/x86/include/asm/syscall.h

index 4e20054..f6593ca 100644 (file)
@@ -21,13 +21,12 @@ extern const sys_call_ptr_t sys_call_table[];
 
 #if defined(CONFIG_X86_32)
 #define ia32_sys_call_table sys_call_table
-#endif
-
-#if defined(CONFIG_IA32_EMULATION)
+#else
+/*
+ * These may not exist, but still put the prototypes in so we
+ * can use IS_ENABLED().
+ */
 extern const sys_call_ptr_t ia32_sys_call_table[];
-#endif
-
-#ifdef CONFIG_X86_X32_ABI
 extern const sys_call_ptr_t x32_sys_call_table[];
 #endif