From: Arnd Bergmann <arnd@kernel•org>
To: Russell King <linux@armlinux•org.uk>
Cc: Arnd Bergmann <arnd@arndb•de>,
Steven Rostedt <rostedt@goodmis•org>,
Masami Hiramatsu <mhiramat@kernel•org>,
Mark Rutland <mark.rutland@arm•com>,
Oleg Nesterov <oleg@redhat•com>,
"Rafael J. Wysocki" <rafael@kernel•org>,
Pavel Machek <pavel@ucw•cz>,
Linus Walleij <linus.walleij@linaro•org>,
Ard Biesheuvel <ardb@kernel•org>,
Kees Cook <keescook@chromium•org>,
linux-arm-kernel@lists•infradead.org,
linux-kernel@vger•kernel.org, linux-trace-kernel@vger•kernel.org,
linux-pm@vger•kernel.org
Subject: [PATCH 14/16] ARM: add missing syscall prototypes
Date: Tue, 16 May 2023 17:46:03 +0200 [thread overview]
Message-ID: <20230516154605.517690-15-arnd@kernel.org> (raw)
In-Reply-To: <20230516154605.517690-1-arnd@kernel.org>
From: Arnd Bergmann <arnd@arndb•de>
All architecture-independent system calls have prototypes in
include/linux/syscalls.h, but there are a few that only exist
on arm or that take the pt_regs directly. These cause a W=1
warning such as:
arch/arm/kernel/signal.c:186:16: error: no previous prototype for 'sys_sigreturn' [-Werror=missing-prototypes]
arch/arm/kernel/signal.c:216:16: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
arch/arm/kernel/sys_arm.c:32:17: error: no previous prototype for 'sys_arm_fadvise64_64' [-Werror=missing-prototypes]
Add prototypes for all custom syscalls on arm and add them
to asm/syscalls.h.
Signed-off-by: Arnd Bergmann <arnd@arndb•de>
---
arch/arm/include/asm/syscalls.h | 51 +++++++++++++++++++++++++++++++
arch/arm/kernel/signal.c | 1 +
arch/arm/kernel/sys_arm.c | 1 +
arch/arm/kernel/sys_oabi-compat.c | 2 ++
4 files changed, 55 insertions(+)
create mode 100644 arch/arm/include/asm/syscalls.h
diff --git a/arch/arm/include/asm/syscalls.h b/arch/arm/include/asm/syscalls.h
new file mode 100644
index 000000000000..5912e7cffa6a
--- /dev/null
+++ b/arch/arm/include/asm/syscalls.h
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_SYSCALLS_H
+#define __ASM_SYSCALLS_H
+
+#include <linux/linkage.h>
+#include <linux/types.h>
+
+struct pt_regs;
+asmlinkage int sys_sigreturn(struct pt_regs *regs);
+asmlinkage int sys_rt_sigreturn(struct pt_regs *regs);
+asmlinkage long sys_arm_fadvise64_64(int fd, int advice,
+ loff_t offset, loff_t len);
+
+struct oldabi_stat64;
+asmlinkage long sys_oabi_stat64(const char __user * filename,
+ struct oldabi_stat64 __user * statbuf);
+asmlinkage long sys_oabi_lstat64(const char __user * filename,
+ struct oldabi_stat64 __user * statbuf);
+asmlinkage long sys_oabi_fstat64(unsigned long fd,
+ struct oldabi_stat64 __user * statbuf);
+asmlinkage long sys_oabi_fstatat64(int dfd,
+ const char __user *filename,
+ struct oldabi_stat64 __user *statbuf,
+ int flag);
+asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
+ unsigned long arg);
+struct oabi_epoll_event;
+asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd,
+ struct oabi_epoll_event __user *event);
+struct oabi_sembuf;
+struct old_timespec32;
+asmlinkage long sys_oabi_semtimedop(int semid,
+ struct oabi_sembuf __user *tsops,
+ unsigned nsops,
+ const struct old_timespec32 __user *timeout);
+asmlinkage long sys_oabi_semop(int semid, struct oabi_sembuf __user *tsops,
+ unsigned nsops);
+asmlinkage int sys_oabi_ipc(uint call, int first, int second, int third,
+ void __user *ptr, long fifth);
+struct sockaddr;
+asmlinkage long sys_oabi_bind(int fd, struct sockaddr __user *addr, int addrlen);
+asmlinkage long sys_oabi_connect(int fd, struct sockaddr __user *addr, int addrlen);
+asmlinkage long sys_oabi_sendto(int fd, void __user *buff,
+ size_t len, unsigned flags,
+ struct sockaddr __user *addr,
+ int addrlen);
+struct user_msghdr;
+asmlinkage long sys_oabi_sendmsg(int fd, struct user_msghdr __user *msg, unsigned flags);
+asmlinkage long sys_oabi_socketcall(int call, unsigned long __user *args);
+
+#endif
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index e07f359254c3..8d0afa11bed5 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -18,6 +18,7 @@
#include <asm/traps.h>
#include <asm/unistd.h>
#include <asm/vfp.h>
+#include <asm/syscalls.h>
#include "signal.h"
diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c
index a5f183cfecb1..0141e9bb02e8 100644
--- a/arch/arm/kernel/sys_arm.c
+++ b/arch/arm/kernel/sys_arm.c
@@ -24,6 +24,7 @@
#include <linux/ipc.h>
#include <linux/uaccess.h>
#include <linux/slab.h>
+#include <asm/syscalls.h>
/*
* Since loff_t is a 64 bit type we avoid a lot of ABI hassle
diff --git a/arch/arm/kernel/sys_oabi-compat.c b/arch/arm/kernel/sys_oabi-compat.c
index 006163195d67..d00f4040a9f5 100644
--- a/arch/arm/kernel/sys_oabi-compat.c
+++ b/arch/arm/kernel/sys_oabi-compat.c
@@ -10,6 +10,8 @@
* Copyright: MontaVista Software, Inc.
*/
+#include <asm/syscalls.h>
+
/*
* The legacy ABI and the new ARM EABI have different rules making some
* syscalls incompatible especially with structure arguments.
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-05-16 15:47 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-16 15:45 [PATCH 00/16] ARM: address -Wmissing-prototype warnings Arnd Bergmann
2023-05-16 15:45 ` [PATCH 01/16] ARM: dma-mapping: hide unused dma_contiguous_early_fixup function Arnd Bergmann
2023-05-16 15:45 ` [PATCH 02/16] ARM: traps: hide unused functions on NOMMU Arnd Bergmann
2023-05-16 15:45 ` [PATCH 03/16] ARM: vfp: include asm/neon.h in vfpmodule.c Arnd Bergmann
2023-05-16 15:45 ` [PATCH 04/16] ARM: vdso: add missing prototypes Arnd Bergmann
2023-05-16 15:45 ` [PATCH 05/16] ARM: kprobes: avoid missing-declaration warnings Arnd Bergmann
2023-05-17 1:29 ` Masami Hiramatsu
2023-05-16 15:45 ` [PATCH 06/16] ARM: tcm: move tcm_init() prototype to asm/tcm.h Arnd Bergmann
2023-05-22 7:34 ` Linus Walleij
2023-05-16 15:45 ` [PATCH 07/16] ARM: add prototype for function called only from asm Arnd Bergmann
2023-05-16 15:45 ` [PATCH 08/16] ARM: add clear/copy_user_highpage declarations Arnd Bergmann
2023-05-16 15:45 ` [PATCH 09/16] ARM: cacheflush: avoid __flush_anon_page() missing-prototype warning Arnd Bergmann
2023-05-16 15:45 ` [PATCH 10/16] ARM: nommu: include asm/idmap.h Arnd Bergmann
2023-05-16 15:46 ` [PATCH 11/16] ARM: move setup functions to header Arnd Bergmann
2023-05-22 7:35 ` Linus Walleij
2023-05-16 15:46 ` [PATCH 12/16] ARM: fiq: include asm/mach/irq.h for prototypes Arnd Bergmann
2023-05-16 15:46 ` [PATCH 13/16] ARM: vfp: add vfp_entry prototype Arnd Bergmann
2023-05-17 11:13 ` Ard Biesheuvel
2023-05-16 15:46 ` Arnd Bergmann [this message]
2023-05-16 15:46 ` [PATCH 15/16] ARM: decompressor: move function prototypes to misc.h Arnd Bergmann
2023-05-16 15:46 ` [PATCH 16/16] ARM: xip-kernel: add __inflate_kernel_data prototype Arnd Bergmann
2023-05-16 19:56 ` [PATCH 00/16] ARM: address -Wmissing-prototype warnings Kees Cook
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=20230516154605.517690-15-arnd@kernel.org \
--to=arnd@kernel$(echo .)org \
--cc=ardb@kernel$(echo .)org \
--cc=arnd@arndb$(echo .)de \
--cc=keescook@chromium$(echo .)org \
--cc=linus.walleij@linaro$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-pm@vger$(echo .)kernel.org \
--cc=linux-trace-kernel@vger$(echo .)kernel.org \
--cc=linux@armlinux$(echo .)org.uk \
--cc=mark.rutland@arm$(echo .)com \
--cc=mhiramat@kernel$(echo .)org \
--cc=oleg@redhat$(echo .)com \
--cc=pavel@ucw$(echo .)cz \
--cc=rafael@kernel$(echo .)org \
--cc=rostedt@goodmis$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox