[PATCH] tracing: fprobe: Fix to init fprobe_ip_table earlier

Masami Hiramatsu (Google) posted 1 patch 2 months, 2 weeks ago
kernel/trace/fprobe.c |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] tracing: fprobe: Fix to init fprobe_ip_table earlier
Posted by Masami Hiramatsu (Google) 2 months, 2 weeks ago
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>

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 <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202509301440.be4b3631-lkp@intel.com
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
---
 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);
Re: [PATCH] tracing: fprobe: Fix to init fprobe_ip_table earlier
Posted by Menglong Dong 2 months, 2 weeks ago
On Thu, Oct 2, 2025 at 4:39 PM Masami Hiramatsu (Google)
<mhiramat@kernel.org> wrote:
>
> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
>
> 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 <oliver.sang@intel.com>
> Closes: https://lore.kernel.org/oe-lkp/202509301440.be4b3631-lkp@intel.com

Don't we need a Fixes tag here?

The other part of this patch is LGTM.

Reviewed-by: Menglong Dong <menglong8.dong@gmail.com>

Thanks!
Menglong Dong

> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> ---
>  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);
>
Re: [PATCH] tracing: fprobe: Fix to init fprobe_ip_table earlier
Posted by Masami Hiramatsu (Google) 2 months, 2 weeks ago
On Thu, 2 Oct 2025 18:00:24 +0800
Menglong Dong <menglong8.dong@gmail.com> wrote:

> On Thu, Oct 2, 2025 at 4:39 PM Masami Hiramatsu (Google)
> <mhiramat@kernel.org> wrote:
> >
> > From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> >
> > 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 <oliver.sang@intel.com>
> > Closes: https://lore.kernel.org/oe-lkp/202509301440.be4b3631-lkp@intel.com
> 
> Don't we need a Fixes tag here?

OK, I'll add it too.

> 
> The other part of this patch is LGTM.
> 
> Reviewed-by: Menglong Dong <menglong8.dong@gmail.com>

Thank you!


> 
> Thanks!
> Menglong Dong
> 
> > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> > ---
> >  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);
> >


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>