tree:
https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git
kprobes/kretprobe-stackfix
head: 6e2b8966c87adc1be0fb4a386fb24ae438f4cb79
commit: 0d46dfb8d0aa9f3a9b64d8b119bca53bde8fb642 [3/10] kprobes: treewide: Remove
trampoline_address from kretprobe_trampoline_handler()
config: i386-randconfig-m021-20210316 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git/commit...
git remote add mhiramat
https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git
git fetch --no-tags mhiramat kprobes/kretprobe-stackfix
git checkout 0d46dfb8d0aa9f3a9b64d8b119bca53bde8fb642
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/kgdb.h:19,
from include/linux/fb.h:5,
from drivers/hid/hid-picolcd_core.c:15:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from include/linux/kgdb.h:19,
from include/linux/fb.h:5,
from drivers/hid/hid-picolcd_core.c:15:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
drivers/hid/hid-picolcd_core.c: In function 'picolcd_raw_event':
drivers/hid/hid-picolcd_core.c:332:6: warning: variable 'ret' set but not used
[-Wunused-but-set-variable]
332 | int ret = 0;
| ^~~
--
In file included from include/linux/kgdb.h:19,
from include/linux/fb.h:5,
from drivers/hid/hid-picolcd_leds.c:15:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from include/linux/kgdb.h:19,
from include/linux/fb.h:5,
from drivers/hid/hid-picolcd_leds.c:15:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
--
In file included from init/main.c:36:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from init/main.c:36:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
init/main.c:776:20: warning: no previous prototype for 'mem_encrypt_init'
[-Wmissing-prototypes]
776 | void __init __weak mem_encrypt_init(void) { }
| ^~~~~~~~~~~~~~~~
--
In file included from arch/x86/include/asm/traps.h:6,
from arch/x86/entry/common.c:29:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from arch/x86/include/asm/traps.h:6,
from arch/x86/entry/common.c:29:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/entry/common.c:82:24: warning: no previous prototype for
'do_int80_syscall_32' [-Wmissing-prototypes]
82 | __visible noinstr void do_int80_syscall_32(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~
arch/x86/entry/common.c:148:24: warning: no previous prototype for
'do_fast_syscall_32' [-Wmissing-prototypes]
148 | __visible noinstr long do_fast_syscall_32(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~
arch/x86/entry/common.c:200:24: warning: no previous prototype for
'do_SYSENTER_32' [-Wmissing-prototypes]
200 | __visible noinstr long do_SYSENTER_32(struct pt_regs *regs)
| ^~~~~~~~~~~~~~
--
In file included from arch/x86/include/asm/traps.h:6,
from arch/x86/kernel/irq.c:23:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from arch/x86/include/asm/traps.h:6,
from arch/x86/kernel/irq.c:23:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from arch/x86/include/asm/trace/irq_vectors.h:383,
from arch/x86/kernel/irq.c:27:
include/trace/trace_events.h:27:23: warning:
'str__irq_vectors__trace_system_name' defined but not used
[-Wunused-const-variable=]
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:28:21: note: in expansion of macro '__app__'
28 | #define __app(x, y) __app__(x, y)
| ^~~~~~~
include/trace/trace_events.h:30:29: note: in expansion of macro '__app'
30 | #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
| ^~~~~
include/trace/trace_events.h:33:20: note: in expansion of macro
'TRACE_SYSTEM_STRING'
33 | static const char TRACE_SYSTEM_STRING[] = \
| ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:36:1: note: in expansion of macro
'TRACE_MAKE_SYSTEM_STR'
36 | TRACE_MAKE_SYSTEM_STR();
| ^~~~~~~~~~~~~~~~~~~~~
--
In file included from arch/x86/include/asm/traps.h:6,
from arch/x86/kernel/doublefault_32.c:11:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from arch/x86/include/asm/traps.h:6,
from arch/x86/kernel/doublefault_32.c:11:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/doublefault_32.c:23:36: warning: no previous prototype for
'doublefault_shim' [-Wmissing-prototypes]
23 | asmlinkage noinstr void __noreturn doublefault_shim(void)
| ^~~~~~~~~~~~~~~~
arch/x86/kernel/doublefault_32.c:117:6: warning: no previous prototype for
'doublefault_init_cpu_tss' [-Wmissing-prototypes]
117 | void doublefault_init_cpu_tss(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from arch/x86/kernel/paravirt.c:15:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from arch/x86/kernel/paravirt.c:15:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/paravirt.c:96:13: warning: no previous prototype for
'native_pv_lock_init' [-Wmissing-prototypes]
96 | void __init native_pv_lock_init(void)
| ^~~~~~~~~~~~~~~~~~~
--
In file included from arch/x86/include/asm/traps.h:6,
from arch/x86/mm/extable.c:9:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from arch/x86/include/asm/traps.h:6,
from arch/x86/mm/extable.c:9:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:27:16: warning: no previous prototype for
'ex_handler_default' [-Wmissing-prototypes]
27 | __visible bool ex_handler_default(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:37:16: warning: no previous prototype for
'ex_handler_fault' [-Wmissing-prototypes]
37 | __visible bool ex_handler_fault(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:58:16: warning: no previous prototype for
'ex_handler_fprestore' [-Wmissing-prototypes]
58 | __visible bool ex_handler_fprestore(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:73:16: warning: no previous prototype for
'ex_handler_uaccess' [-Wmissing-prototypes]
73 | __visible bool ex_handler_uaccess(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:84:16: warning: no previous prototype for
'ex_handler_copy' [-Wmissing-prototypes]
84 | __visible bool ex_handler_copy(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~
arch/x86/mm/extable.c:96:16: warning: no previous prototype for
'ex_handler_rdmsr_unsafe' [-Wmissing-prototypes]
96 | __visible bool ex_handler_rdmsr_unsafe(const struct exception_table_entry
*fixup,
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:113:16: warning: no previous prototype for
'ex_handler_wrmsr_unsafe' [-Wmissing-prototypes]
113 | __visible bool ex_handler_wrmsr_unsafe(const struct exception_table_entry
*fixup,
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:129:16: warning: no previous prototype for
'ex_handler_clear_fs' [-Wmissing-prototypes]
129 | __visible bool ex_handler_clear_fs(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~~
--
In file included from kernel/kallsyms.c:27:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from kernel/kallsyms.c:27:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
kernel/kallsyms.c:457:12: warning: no previous prototype for 'arch_get_kallsym'
[-Wmissing-prototypes]
457 | int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value,
| ^~~~~~~~~~~~~~~~
--
In file included from include/linux/kgdb.h:19,
from kernel/panic.c:15:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from include/linux/kgdb.h:19,
from kernel/panic.c:15:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
kernel/panic.c:85:13: warning: no previous prototype for 'panic_smp_self_stop'
[-Wmissing-prototypes]
85 | void __weak panic_smp_self_stop(void)
| ^~~~~~~~~~~~~~~~~~~
kernel/panic.c:95:13: warning: no previous prototype for 'nmi_panic_self_stop'
[-Wmissing-prototypes]
95 | void __weak nmi_panic_self_stop(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~
kernel/panic.c:106:13: warning: no previous prototype for 'crash_smp_send_stop'
[-Wmissing-prototypes]
106 | void __weak crash_smp_send_stop(void)
| ^~~~~~~~~~~~~~~~~~~
kernel/panic.c: In function '__warn':
kernel/panic.c:590:3: warning: function '__warn' might be a candidate for
'gnu_printf' format attribute [-Wsuggest-attribute=format]
590 | vprintk(args->fmt, args->args);
| ^~~~~~~
kernel/panic.c: At top level:
kernel/panic.c:684:24: warning: no previous prototype for '__stack_chk_fail'
[-Wmissing-prototypes]
684 | __visible noinstr void __stack_chk_fail(void)
| ^~~~~~~~~~~~~~~~
--
In file included from kernel/trace/ftrace.c:37:
> include/linux/kprobes.h:208:6: error: conflicting types for
'kretprobe_trampoline'
208 | void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kprobes.h:32,
from kernel/trace/ftrace.c:37:
arch/x86/include/asm/kprobes.h:52:17: note: previous declaration of
'kretprobe_trampoline' was here
52 | asmlinkage void kretprobe_trampoline(void);
| ^~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:302:5: warning: no previous prototype for
'__register_ftrace_function' [-Wmissing-prototypes]
302 | int __register_ftrace_function(struct ftrace_ops *ops)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:345:5: warning: no previous prototype for
'__unregister_ftrace_function' [-Wmissing-prototypes]
345 | int __unregister_ftrace_function(struct ftrace_ops *ops)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:3876:15: warning: no previous prototype for
'arch_ftrace_match_adjust' [-Wmissing-prototypes]
3876 | char * __weak arch_ftrace_match_adjust(char *str, const char *search)
| ^~~~~~~~~~~~~~~~~~~~~~~~
..
vim +/kretprobe_trampoline +208 include/linux/kprobes.h
207
208 void kretprobe_trampoline(void);
209 /*
210 * Since some architecture uses structured function pointer,
211 * use dereference_function_descriptor() to get real function address.
212 */
213 static nokprobe_inline void *kretprobe_trampoline_addr(void)
214 {
215 return dereference_function_descriptor(kretprobe_trampoline);
216 }
217
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org