Re: [PATCH v2 26/35] powerpc/64: system call: Fix sparse warning about missing declaration
Le 26/11/2019 à 22:44, Luc Van Oostenryck a écrit : On Tue, Nov 26, 2019 at 09:13:40PM +0100, Michal Suchanek wrote: Sparse warns about missing declarations for these functions: +arch/powerpc/kernel/syscall_64.c:108:23: warning: symbol 'syscall_exit_prepare' was not declared. Should it be static? +arch/powerpc/kernel/syscall_64.c:18:6: warning: symbol 'system_call_exception' was not declared. Should it be static? +arch/powerpc/kernel/syscall_64.c:200:23: warning: symbol 'interrupt_exit_user_prepare' was not declared. Should it be static? +arch/powerpc/kernel/syscall_64.c:288:23: warning: symbol 'interrupt_exit_kernel_prepare' was not declared. Should it be static? Add declaration for them. I'm fine with this patch but, just FYI, lately people seems to prefer to add '__visible' to the function definition instead of creating such header files. AFAIU, that's not exactly the purpose of '__visible', see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9add850c2 Christophe
Re: [PATCH v2 26/35] powerpc/64: system call: Fix sparse warning about missing declaration
On Tue, Nov 26, 2019 at 09:13:40PM +0100, Michal Suchanek wrote: > Sparse warns about missing declarations for these functions: > > +arch/powerpc/kernel/syscall_64.c:108:23: warning: symbol > 'syscall_exit_prepare' was not declared. Should it be static? > +arch/powerpc/kernel/syscall_64.c:18:6: warning: symbol > 'system_call_exception' was not declared. Should it be static? > +arch/powerpc/kernel/syscall_64.c:200:23: warning: symbol > 'interrupt_exit_user_prepare' was not declared. Should it be static? > +arch/powerpc/kernel/syscall_64.c:288:23: warning: symbol > 'interrupt_exit_kernel_prepare' was not declared. Should it be static? > > Add declaration for them. I'm fine with this patch but, just FYI, lately people seems to prefer to add '__visible' to the function definition instead of creating such header files. Best regards, -- Luc Van Oostenryck
[PATCH v2 26/35] powerpc/64: system call: Fix sparse warning about missing declaration
Sparse warns about missing declarations for these functions: +arch/powerpc/kernel/syscall_64.c:108:23: warning: symbol 'syscall_exit_prepare' was not declared. Should it be static? +arch/powerpc/kernel/syscall_64.c:18:6: warning: symbol 'system_call_exception' was not declared. Should it be static? +arch/powerpc/kernel/syscall_64.c:200:23: warning: symbol 'interrupt_exit_user_prepare' was not declared. Should it be static? +arch/powerpc/kernel/syscall_64.c:288:23: warning: symbol 'interrupt_exit_kernel_prepare' was not declared. Should it be static? Add declaration for them. Signed-off-by: Michal Suchanek --- arch/powerpc/include/asm/asm-prototypes.h | 6 ++ arch/powerpc/kernel/syscall_64.c | 1 + 2 files changed, 7 insertions(+) diff --git a/arch/powerpc/include/asm/asm-prototypes.h b/arch/powerpc/include/asm/asm-prototypes.h index 399ca63196e4..841746357833 100644 --- a/arch/powerpc/include/asm/asm-prototypes.h +++ b/arch/powerpc/include/asm/asm-prototypes.h @@ -96,6 +96,12 @@ ppc_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, s unsigned long __init early_init(unsigned long dt_ptr); void __init machine_init(u64 dt_ptr); #endif +#ifdef CONFIG_PPC64 +long system_call_exception(long r3, long r4, long r5, long r6, long r7, long r8, unsigned long r0, struct pt_regs *regs); +notrace unsigned long syscall_exit_prepare(unsigned long r3, struct pt_regs *regs); +notrace unsigned long interrupt_exit_user_prepare(struct pt_regs *regs, unsigned long msr); +notrace unsigned long interrupt_exit_kernel_prepare(struct pt_regs *regs, unsigned long msr); +#endif long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low, u32 len_high, u32 len_low); diff --git a/arch/powerpc/kernel/syscall_64.c b/arch/powerpc/kernel/syscall_64.c index d00cfc4a39a9..62f44c3072f3 100644 --- a/arch/powerpc/kernel/syscall_64.c +++ b/arch/powerpc/kernel/syscall_64.c @@ -1,4 +1,5 @@ #include +#include #include #include #include -- 2.23.0