From: Arnd Bergmann <arnd@kernel.org>
To: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>, Ard Biesheuvel <ardb@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Marc Zyngier <maz@kernel.org>,
Oliver Upton <oliver.upton@linux.dev>,
James Morse <james.morse@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
Anshuman Khandual <anshuman.khandual@arm.com>,
Kees Cook <keescook@chromium.org>,
Suren Baghdasaryan <surenb@google.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
kvmarm@lists.linux.dev
Subject: [PATCH 03/15] arm64: avoid prototype warnings for syscalls
Date: Tue, 16 May 2023 18:06:30 +0200 [thread overview]
Message-ID: <20230516160642.523862-4-arnd@kernel.org> (raw)
In-Reply-To: <20230516160642.523862-1-arnd@kernel.org>
From: Arnd Bergmann <arnd@arndb.de>
With W=1 warnings enabled, there are lots of complaints about
missing prototypes for system calls, plus a few other related
ones:
arch/arm64/kernel/sys_compat.c:68:6: error: no previous prototype for 'compat_arm_syscall' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:76:32: error: no previous prototype for '__arm64_sys_io_setup' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:41:32: error: no previous prototype for '__arm64_compat_sys_io_setup' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:76:32: error: no previous prototype for '__arm64_sys_io_destroy' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:76:32: error: no previous prototype for '__arm64_sys_io_submit' [-Werror=missing-prototypes]
Add declarations to the syscall macros to avoid all of these, plus
one for the compat syscall entry.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm64/include/asm/compat.h | 2 ++
arch/arm64/include/asm/syscall_wrapper.h | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h
index 74575c3d6987..ae904a1ad529 100644
--- a/arch/arm64/include/asm/compat.h
+++ b/arch/arm64/include/asm/compat.h
@@ -96,6 +96,8 @@ static inline int is_compat_thread(struct thread_info *thread)
return test_ti_thread_flag(thread, TIF_32BIT);
}
+long compat_arm_syscall(struct pt_regs *regs, int scno);
+
#else /* !CONFIG_COMPAT */
static inline int is_compat_thread(struct thread_info *thread)
diff --git a/arch/arm64/include/asm/syscall_wrapper.h b/arch/arm64/include/asm/syscall_wrapper.h
index d30217c21eff..17f687510c48 100644
--- a/arch/arm64/include/asm/syscall_wrapper.h
+++ b/arch/arm64/include/asm/syscall_wrapper.h
@@ -38,6 +38,7 @@
asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused)
#define COND_SYSCALL_COMPAT(name) \
+ asmlinkage long __arm64_compat_sys_##name(const struct pt_regs *regs); \
asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
{ \
return sys_ni_syscall(); \
@@ -53,6 +54,7 @@
ALLOW_ERROR_INJECTION(__arm64_sys##name, ERRNO); \
static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
+ asmlinkage long __arm64_sys##name(const struct pt_regs *regs); \
asmlinkage long __arm64_sys##name(const struct pt_regs *regs) \
{ \
return __se_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__)); \
@@ -73,11 +75,13 @@
asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused)
#define COND_SYSCALL(name) \
+ asmlinkage long __arm64_sys_##name(const struct pt_regs *regs); \
asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
{ \
return sys_ni_syscall(); \
}
+asmlinkage long __arm64_sys_ni_syscall(const struct pt_regs *__unused);
#define SYS_NI(name) SYSCALL_ALIAS(__arm64_sys_##name, sys_ni_posix_timers);
#endif /* __ASM_SYSCALL_WRAPPER_H */
--
2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>, Ard Biesheuvel <ardb@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Marc Zyngier <maz@kernel.org>,
Oliver Upton <oliver.upton@linux.dev>,
James Morse <james.morse@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
Anshuman Khandual <anshuman.khandual@arm.com>,
Kees Cook <keescook@chromium.org>,
Suren Baghdasaryan <surenb@google.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
kvmarm@lists.linux.dev
Subject: [PATCH 03/15] arm64: avoid prototype warnings for syscalls
Date: Tue, 16 May 2023 18:06:30 +0200 [thread overview]
Message-ID: <20230516160642.523862-4-arnd@kernel.org> (raw)
In-Reply-To: <20230516160642.523862-1-arnd@kernel.org>
From: Arnd Bergmann <arnd@arndb.de>
With W=1 warnings enabled, there are lots of complaints about
missing prototypes for system calls, plus a few other related
ones:
arch/arm64/kernel/sys_compat.c:68:6: error: no previous prototype for 'compat_arm_syscall' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:76:32: error: no previous prototype for '__arm64_sys_io_setup' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:41:32: error: no previous prototype for '__arm64_compat_sys_io_setup' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:76:32: error: no previous prototype for '__arm64_sys_io_destroy' [-Werror=missing-prototypes]
arch/arm64/include/asm/syscall_wrapper.h:76:32: error: no previous prototype for '__arm64_sys_io_submit' [-Werror=missing-prototypes]
Add declarations to the syscall macros to avoid all of these, plus
one for the compat syscall entry.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm64/include/asm/compat.h | 2 ++
arch/arm64/include/asm/syscall_wrapper.h | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h
index 74575c3d6987..ae904a1ad529 100644
--- a/arch/arm64/include/asm/compat.h
+++ b/arch/arm64/include/asm/compat.h
@@ -96,6 +96,8 @@ static inline int is_compat_thread(struct thread_info *thread)
return test_ti_thread_flag(thread, TIF_32BIT);
}
+long compat_arm_syscall(struct pt_regs *regs, int scno);
+
#else /* !CONFIG_COMPAT */
static inline int is_compat_thread(struct thread_info *thread)
diff --git a/arch/arm64/include/asm/syscall_wrapper.h b/arch/arm64/include/asm/syscall_wrapper.h
index d30217c21eff..17f687510c48 100644
--- a/arch/arm64/include/asm/syscall_wrapper.h
+++ b/arch/arm64/include/asm/syscall_wrapper.h
@@ -38,6 +38,7 @@
asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused)
#define COND_SYSCALL_COMPAT(name) \
+ asmlinkage long __arm64_compat_sys_##name(const struct pt_regs *regs); \
asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
{ \
return sys_ni_syscall(); \
@@ -53,6 +54,7 @@
ALLOW_ERROR_INJECTION(__arm64_sys##name, ERRNO); \
static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
+ asmlinkage long __arm64_sys##name(const struct pt_regs *regs); \
asmlinkage long __arm64_sys##name(const struct pt_regs *regs) \
{ \
return __se_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__)); \
@@ -73,11 +75,13 @@
asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused)
#define COND_SYSCALL(name) \
+ asmlinkage long __arm64_sys_##name(const struct pt_regs *regs); \
asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
{ \
return sys_ni_syscall(); \
}
+asmlinkage long __arm64_sys_ni_syscall(const struct pt_regs *__unused);
#define SYS_NI(name) SYSCALL_ALIAS(__arm64_sys_##name, sys_ni_posix_timers);
#endif /* __ASM_SYSCALL_WRAPPER_H */
--
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 16:07 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-16 16:06 [PATCH 00/15] arm64: address -Wmissing-prototype warnings Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 01/15] arm64: xor-neon: mark xor_arm64_neon_*() static Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 02/15] arm64: add scs_patch_vmlinux prototype Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann [this message]
2023-05-16 16:06 ` [PATCH 03/15] arm64: avoid prototype warnings for syscalls Arnd Bergmann
2023-05-16 16:06 ` [PATCH 04/15] arm64: move cpu_suspend_set_dbg_restorer() prototype to header Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 05/15] arm64: spectre: provide prototypes for internal functions Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 06/15] arm64: kvm: add prototypes for functions called in asm Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 07/15] arm64: cpuidle: fix #ifdef for acpi functions Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 08/15] arm64: efi: add efi_handle_corrupted_x18 prototype Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 09/15] arm64: hide unused is_valid_bugaddr() Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 10/15] arm64: module-plts: inline linux/moduleloader.h Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 11/15] arm64: flush: include linux/libnvdimm.h Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 12/15] arm64: kaslr: add kaslr_early_init() declaration Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 13/15] arm64: signal: include asm/exception.h Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 14/15] arm64: move early_brk64 prototype to header Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 16:06 ` [PATCH 15/15] arm64: add alt_cb_patch_nops prototype Arnd Bergmann
2023-05-16 16:06 ` Arnd Bergmann
2023-05-16 17:17 ` [PATCH 00/15] arm64: address -Wmissing-prototype warnings Ard Biesheuvel
2023-05-16 17:17 ` Ard Biesheuvel
2023-05-16 19:53 ` Kees Cook
2023-05-16 19:53 ` Kees Cook
2023-05-25 18:25 ` Catalin Marinas
2023-05-25 18:25 ` Catalin Marinas
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=20230516160642.523862-4-arnd@kernel.org \
--to=arnd@kernel.org \
--cc=anshuman.khandual@arm.com \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=james.morse@arm.com \
--cc=keescook@chromium.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=oliver.upton@linux.dev \
--cc=surenb@google.com \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
--cc=yuzenghui@huawei.com \
/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.