From: Masami Hiramatsu (Google) <[email protected]> Since the fprobe_ip_table is used from module unloading in the failure path of load_module(), it must be initialized in the earlier timing than late_initcall(). Unless that, the fprobe_module_callback() will use an uninitialized spinlock of fprobe_ip_table.
Initialize fprobe_ip_table in core_initcall which is the same timing as ftrace. Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-lkp/[email protected] Signed-off-by: Masami Hiramatsu (Google) <[email protected]> --- kernel/trace/fprobe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/fprobe.c b/kernel/trace/fprobe.c index 95e43814b85b..99d83c08b9e2 100644 --- a/kernel/trace/fprobe.c +++ b/kernel/trace/fprobe.c @@ -847,4 +847,4 @@ static int __init fprobe_initcall(void) rhltable_init(&fprobe_ip_table, &fprobe_rht_params); return 0; } -late_initcall(fprobe_initcall); +core_initcall(fprobe_initcall);
