[tip: x86/asm] x86/syscall: Unconditionally prototype {ia32,x32}_sys_call_table[]

From: tip-bot2 for H. Peter Anvin (Intel)
Date: Wed May 12 2021 - 05:23:56 EST


The following commit has been merged into the x86/asm branch of tip:

Commit-ID: dce0aa3b2ef28900cc4c779c59a870f1b4bdadee
Gitweb: https://git.kernel.org/tip/dce0aa3b2ef28900cc4c779c59a870f1b4bdadee
Author: H. Peter Anvin (Intel) <hpa@xxxxxxxxx>
AuthorDate: Mon, 10 May 2021 11:53:12 -07:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Wed, 12 May 2021 10:49:15 +02:00

x86/syscall: Unconditionally prototype {ia32,x32}_sys_call_table[]

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@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20210510185316.3307264-4-hpa@xxxxxxxxx
---
arch/x86/include/asm/syscall.h | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/x86/include/asm/syscall.h b/arch/x86/include/asm/syscall.h
index 4e20054..f6593ca 100644
--- a/arch/x86/include/asm/syscall.h
+++ b/arch/x86/include/asm/syscall.h
@@ -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