All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Brian Gerst <brgerst@gmail.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, "H . Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@kernel.org>,
	Dominik Brodowski <linux@dominikbrodowski.net>
Subject: [PATCH] x86/entry: Fix SYS_NI() build failure
Date: Mon, 23 Mar 2020 09:11:14 +0100	[thread overview]
Message-ID: <20200323081114.GA10796@gmail.com> (raw)
In-Reply-To: <20200313195144.164260-5-brgerst@gmail.com>


* Brian Gerst <brgerst@gmail.com> wrote:

> Pull the common code out from the SYS_NI macros into a new __SYS_NI macro.
> Also conditionalize the X64 version in preparation for enabling syscall
> wrappers on 32-bit native kernels.
>
> Signed-off-by: Brian Gerst <brgerst@gmail.com>
> Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
> Reviewed-by: Andy Lutomirski <luto@kernel.org>

>  #define COMPAT_SYS_NI(name)						\
> -	SYSCALL_ALIAS(__ia32_compat_sys_##name, sys_ni_posix_timers);	\
> -	SYSCALL_ALIAS(__x32_compat_sys_##name, sys_ni_posix_timers)
> +	__IA32_COMPAT_SYS_NI(name)					\
> +	__X32_COMPAT_SYS_NI(name)
>  
>  #endif /* CONFIG_COMPAT */
>  
> @@ -231,9 +245,9 @@ struct pt_regs;
>  	__X64_COND_SYSCALL(name)					\
>  	__IA32_COND_SYSCALL(name)
>  
> -#ifndef SYS_NI
> -#define SYS_NI(name) SYSCALL_ALIAS(__x64_sys_##name, sys_ni_posix_timers);
> -#endif
> +#define SYS_NI(name)							\
> +	__X64_SYS_NI(name)						\
> +	__IA32_SYS_NI(name)

This breaks the x86-64 build on !CONFIG_POSIX_TIMERS (and probably also 
with some x32 build variants), because of a missing ';' between 
__X64_SYS_NI() and __IA32_SYS_NI().

I suspect testing didn't catch this because SYS_NI() is rarely used in 
our x86-64 Kconfig space.

Very lightly tested fix attached.

I didn't see the COND_SYSCALL_COMPAT() build failure, but seems to have a 
similar bug.

Thanks,

	Ingo

Signed-off-by: Ingo Molnar <mingo@kernel.org>

---
 arch/x86/include/asm/syscall_wrapper.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/syscall_wrapper.h b/arch/x86/include/asm/syscall_wrapper.h
index e10efa1454bc..8929419b9783 100644
--- a/arch/x86/include/asm/syscall_wrapper.h
+++ b/arch/x86/include/asm/syscall_wrapper.h
@@ -214,12 +214,12 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
  * COND_SYSCALL_COMPAT in kernel/sys_ni.c and COMPAT_SYS_NI in
  * kernel/time/posix-stubs.c to cover this case as well.
  */
-#define COND_SYSCALL_COMPAT(name) 					\
-	__IA32_COMPAT_COND_SYSCALL(name)				\
+#define COND_SYSCALL_COMPAT(name)					\
+	__IA32_COMPAT_COND_SYSCALL(name);				\
 	__X32_COMPAT_COND_SYSCALL(name)
 
 #define COMPAT_SYS_NI(name)						\
-	__IA32_COMPAT_SYS_NI(name)					\
+	__IA32_COMPAT_SYS_NI(name);					\
 	__X32_COMPAT_SYS_NI(name)
 
 #endif /* CONFIG_COMPAT */
@@ -257,7 +257,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
 	__IA32_COND_SYSCALL(name)
 
 #define SYS_NI(name)							\
-	__X64_SYS_NI(name)						\
+	__X64_SYS_NI(name);						\
 	__IA32_SYS_NI(name)
 
 

  parent reply	other threads:[~2020-03-23  8:11 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-13 19:51 [PATCH v4 00/18] x86: syscall wrapper cleanups Brian Gerst
2020-03-13 19:51 ` [PATCH v4 01/18] x86, syscalls: Refactor SYSCALL_DEFINEx macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 02/18] x86, syscalls: Refactor SYSCALL_DEFINE0 macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 03/18] x86, syscalls: Refactor COND_SYSCALL macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 04/18] x86, syscalls: Refactor SYS_NI macros Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-23  8:11   ` Ingo Molnar [this message]
2020-03-23 21:11     ` [PATCH] x86/entry: Fix SYS_NI() build failure Brian Gerst
2020-03-13 19:51 ` [PATCH v4 05/18] x86-64: Use syscall wrappers for x32_rt_sigreturn Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 06/18] x86-64: Move sys_ni_syscall stub to common.c Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 07/18] x86-64: Split X32 syscall table into its own file Brian Gerst
2020-03-14 13:39   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 08/18] x86: Move max syscall number calculation to syscallhdr.sh Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 09/18] x86-64: Remove ptregs qualifier from syscall table Brian Gerst
2020-03-14 13:42   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 10/18] x86: Remove syscall qualifier support Brian Gerst
2020-03-14 13:43   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 11/18] x86-64: Add __SYSCALL_COMMON() Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/64: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 12/18] x86: Remove ABI prefixes from functions in syscall tables Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 13/18] x86: Clean up syscall_32.tbl Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 14/18] x86, syscalls: Rename 32-bit specific syscalls Brian Gerst
2020-03-14 13:45   ` Dominik Brodowski
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 15/18] x86: Use IA32-specific wrappers for syscalls taking 64-bit arguments Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-06-10 11:29     ` Jiri Slaby
2020-06-10 11:42       ` Jiri Slaby
2020-03-13 19:51 ` [PATCH v4 16/18] x86-32: Enable pt_regs based syscalls Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry/32: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 17/18] x86: Drop asmlinkage from syscalls Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] x86/entry: " tip-bot2 for Brian Gerst
2020-03-13 19:51 ` [PATCH v4 18/18] x86: Remove unneeded includes Brian Gerst
2020-03-21 15:30   ` [tip: x86/entry] " tip-bot2 for Brian Gerst

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200323081114.GA10796@gmail.com \
    --to=mingo@kernel.org \
    --cc=bp@alien8.de \
    --cc=brgerst@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@dominikbrodowski.net \
    --cc=luto@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.