Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86: Avoid missing-prototype warnings for doublefault code

Two functions in the 32-bit doublefault code are lacking a prototype:

arch/x86/kernel/doublefault_32.c:23:36: error: no previous prototype for 'doublefault_shim' [-Werror=missing-prototypes]
23 | asmlinkage noinstr void __noreturn doublefault_shim(void)
| ^~~~~~~~~~~~~~~~
arch/x86/kernel/doublefault_32.c:114:6: error: no previous prototype for 'doublefault_init_cpu_tss' [-Werror=missing-prototypes]
114 | void doublefault_init_cpu_tss(void)

The first one is only called from assembler, while the second one is
declared in doublefault.h, but this file is not included.

Include the header file and add the other declaration there as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Link: https://lore.kernel.org/all/20230516193549.544673-8-arnd%40kernel.org

authored by

Arnd Bergmann and committed by
Dave Hansen
c9664839 16db7e9c

+5
+4
arch/x86/include/asm/doublefault.h
··· 2 2 #ifndef _ASM_X86_DOUBLEFAULT_H 3 3 #define _ASM_X86_DOUBLEFAULT_H 4 4 5 + #include <linux/linkage.h> 6 + 5 7 #ifdef CONFIG_X86_32 6 8 extern void doublefault_init_cpu_tss(void); 7 9 #else ··· 11 9 { 12 10 } 13 11 #endif 12 + 13 + asmlinkage void __noreturn doublefault_shim(void); 14 14 15 15 #endif /* _ASM_X86_DOUBLEFAULT_H */
+1
arch/x86/kernel/doublefault_32.c
··· 9 9 #include <asm/processor.h> 10 10 #include <asm/desc.h> 11 11 #include <asm/traps.h> 12 + #include <asm/doublefault.h> 12 13 13 14 #define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + MAXMEM) 14 15