[PATCH v2 2/4] fprobe: make fprobe_kprobe_handler recursion free
Masami Hiramatsu (Google)
mhiramat at kernel.org
Tue May 16 09:03:11 PDT 2023
On Tue, 16 May 2023 17:47:52 +0800
Ze Gao <zegao2021 at gmail.com> wrote:
> Precisely, these that are called within kprobe_busy_{begin, end},
> which the previous patch does not resolve.
Note that kprobe_busy_{begin,end} don't need to use notrace version
because kprobe itself prohibits probing on preempt_count_{add,sub}.
Thank you,
> I will refine the commit message to make it clear.
>
> FYI, details can checked out here:
> Link: https://lore.kernel.org/linux-trace-kernel/20230516132516.c902edcf21028874a74fb868@kernel.org/
>
> Regards,
> Ze
>
> On Tue, May 16, 2023 at 5:18 PM Peter Zijlstra <peterz at infradead.org> wrote:
> >
> > On Tue, May 16, 2023 at 03:18:28PM +0800, Ze Gao wrote:
> > > Current implementation calls kprobe related functions before doing
> > > ftrace recursion check in fprobe_kprobe_handler, which opens door
> > > to kernel crash due to stack recursion if preempt_count_{add, sub}
> > > is traceable.
> >
> > Which preempt_count*() are you referring to? The ones you just made
> > _notrace in the previous patch?
--
Masami Hiramatsu (Google) <mhiramat at kernel.org>
More information about the linux-riscv
mailing list