[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251208161955.54e2fef0fc793092a93ce88e@kernel.org>
Date: Mon, 8 Dec 2025 16:19:55 +0900
From: Masami Hiramatsu (Google) <mhiramat@...nel.org>
To: qingwei hu <huqingwei.kernel@...il.com>
Cc: Steven Rostedt <rostedt@...dmis.org>, davem@...emloft.net,
linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org,
mhiramat@...nel.org, naveen@...nel.org, qingwei.hu@...edance.com
Subject: Re: [PATCH] kprobes: Call check_ftrace_location() on
CONFIG_KPROBES_ON_FTRACE
On Mon, 8 Dec 2025 14:54:33 +0800
qingwei hu <huqingwei.kernel@...il.com> wrote:
>
>
> > 2025年12月5日 23:08,Steven Rostedt <rostedt@...dmis.org> 写道:
> >
> > On Fri, 5 Dec 2025 17:29:33 +0800
> > "qingwei.hu" <qingwei.hu@...edance.com> wrote:
> >
> >> From: Qingwei Hu <qingwei.hu@...edance.com>
> >>
> >> There is a possible configuration dependency:
> >>
> >> KPROBES_ON_FTRACE [=n]
> >> ^----- KPROBES [=y]
> >> |--- HAVE_KPROBES_ON_FTRACE [=n]
> >> |--- DYNAMIC_FTRACE_WITH_REGS [=n]
> >> ^----- FTRACE [=y]
> >> |--- DYNAMIC_FTRACE [=y]
> >> |--- HAVE_DYNAMIC_FTRACE_WITH_REGS [=n]
> >>
> >> With DYNAMIC_FTRACE=y, ftrace_location() is meaningful and may
> >> return the same address as the probe target.
> >>
> >> However, when KPROBES_ON_FTRACE=n, the current implementation
> >> returns -EINVAL after calling check_ftrace_location(), causing
> >> the validation to fail.
> >
> > This is a feature not a bug.
> >
> > The reason is if you put a kprobe on a ftrace location, it can cause ftrace
> > to trigger a bug, as kprobes will modify the location and ftrace will see
> > something it doesn't expect and think the system is corrupted. We don't want
> > that either.
> >
> > If you say "KPROBES_ON_FTRACE=n" and place a kprobe on a location that is
> > controlled by ftrace, it had better fail!
> >
> > NAK
> >
> > -- Steve
>
> Thanks for your clear explanation. I will look into other approaches
> that work with this configuration.
>
Can you check the code under arch/<your machine>/ implements the
kprobe_ftrace_handler() correctly? if so, it should be enabled automatically.
Thank you,
--
Masami Hiramatsu (Google) <mhiramat@...nel.org>
Powered by blists - more mailing lists