syscalls: add sys_ni_posix_timers prototype

Message ID 20230607142925.3126422-1-arnd@kernel.org
State New
Headers
Series syscalls: add sys_ni_posix_timers prototype |

Commit Message

Arnd Bergmann June 7, 2023, 2:28 p.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

The sys_ni_posix_timers() definition causes a warning when
the declaration is missing, so this needs to be added
along with the normal syscalls, outside of the #ifdef.

kernel/time/posix-stubs.c:26:17: error: no previous prototype for 'sys_ni_posix_timers' [-Werror=missing-prototypes]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I missed sending this out in the initial submission of my Wmissing-prototype patches
---
 arch/alpha/kernel/osf_sys.c | 2 --
 include/linux/syscalls.h    | 1 +
 kernel/time/posix-stubs.c   | 1 +
 3 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Kees Cook June 7, 2023, 9:20 p.m. UTC | #1
On Wed, Jun 07, 2023 at 04:28:45PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The sys_ni_posix_timers() definition causes a warning when
> the declaration is missing, so this needs to be added
> along with the normal syscalls, outside of the #ifdef.
> 
> kernel/time/posix-stubs.c:26:17: error: no previous prototype for 'sys_ni_posix_timers' [-Werror=missing-prototypes]
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Kees Cook <keescook@chromium.org>
  
Thomas Gleixner June 10, 2023, 12:06 p.m. UTC | #2
On Wed, Jun 07 2023 at 16:28, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> The sys_ni_posix_timers() definition causes a warning when
> the declaration is missing, so this needs to be added
> along with the normal syscalls, outside of the #ifdef.
>
> kernel/time/posix-stubs.c:26:17: error: no previous prototype for 'sys_ni_posix_timers' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> I missed sending this out in the initial submission of my Wmissing-prototype patches
> ---
>  arch/alpha/kernel/osf_sys.c | 2 --
>  include/linux/syscalls.h    | 1 +
>  kernel/time/posix-stubs.c   | 1 +
>  3 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
> index 2a9a877a05083..d98701ee36c6a 100644
> --- a/arch/alpha/kernel/osf_sys.c
> +++ b/arch/alpha/kernel/osf_sys.c
> @@ -1014,8 +1014,6 @@ SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv,
>  	return do_sys_settimeofday64(tv ? &kts : NULL, tz ? &ktz : NULL);
>  }
>  
> -asmlinkage long sys_ni_posix_timers(void);
> -
>  SYSCALL_DEFINE2(osf_utimes, const char __user *, filename,
>  		struct timeval32 __user *, tvs)
>  {
> diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
> index 4627b9cf4b4d9..712f4e1dc6a69 100644
> --- a/include/linux/syscalls.h
> +++ b/include/linux/syscalls.h
> @@ -1286,6 +1286,7 @@ asmlinkage long sys_ni_syscall(void);
>  
>  #endif /* CONFIG_ARCH_HAS_SYSCALL_WRAPPER */
>  
> +asmlinkage long sys_ni_posix_timers(void);
>  
>  /*
>   * Kernel code should not call syscalls (i.e., sys_xyzyyz()) directly.
> diff --git a/kernel/time/posix-stubs.c b/kernel/time/posix-stubs.c
> index 828aeecbd1e8a..39769b2d1005e 100644
> --- a/kernel/time/posix-stubs.c
> +++ b/kernel/time/posix-stubs.c
> @@ -16,6 +16,7 @@
>  #include <linux/posix-timers.h>
>  #include <linux/time_namespace.h>
>  #include <linux/compat.h>
> +#include <linux/syscalls.h>

That's already included. I'll fix it up while applying.
  

Patch

diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
index 2a9a877a05083..d98701ee36c6a 100644
--- a/arch/alpha/kernel/osf_sys.c
+++ b/arch/alpha/kernel/osf_sys.c
@@ -1014,8 +1014,6 @@  SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv,
 	return do_sys_settimeofday64(tv ? &kts : NULL, tz ? &ktz : NULL);
 }
 
-asmlinkage long sys_ni_posix_timers(void);
-
 SYSCALL_DEFINE2(osf_utimes, const char __user *, filename,
 		struct timeval32 __user *, tvs)
 {
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 4627b9cf4b4d9..712f4e1dc6a69 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -1286,6 +1286,7 @@  asmlinkage long sys_ni_syscall(void);
 
 #endif /* CONFIG_ARCH_HAS_SYSCALL_WRAPPER */
 
+asmlinkage long sys_ni_posix_timers(void);
 
 /*
  * Kernel code should not call syscalls (i.e., sys_xyzyyz()) directly.
diff --git a/kernel/time/posix-stubs.c b/kernel/time/posix-stubs.c
index 828aeecbd1e8a..39769b2d1005e 100644
--- a/kernel/time/posix-stubs.c
+++ b/kernel/time/posix-stubs.c
@@ -16,6 +16,7 @@ 
 #include <linux/posix-timers.h>
 #include <linux/time_namespace.h>
 #include <linux/compat.h>
+#include <linux/syscalls.h>
 
 #ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER
 /* Architectures may override SYS_NI and COMPAT_SYS_NI */