Re: [PATCH] tracing: Replace BUG_ON with lockdep_assert_held in uprobe_buffer functions

From: Google

Date: Mon May 25 2026 - 03:42:22 EST


On Thu, 21 May 2026 18:16:01 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Fri, 22 May 2026 00:58:46 +0530
> Yash Suthar <yashsuthar983@xxxxxxxxx> wrote:
>
> > Replace BUG_ON(!mutex_is_locked(&event_mutex)) with
> > lockdep_assert_held(&event_mutex) in uprobe_buffer_enable() and
> > uprobe_buffer_disable().
> >
> > BUG_ON() will crash the kernel. mutex_is_locked() only checks
> > if any task holds lock,but not the caller task. lockdep_assert_held()
> > also check current task for lock and no crash on true condition.
> >
> > Signed-off-by: Yash Suthar <yashsuthar983@xxxxxxxxx>
>
> This looks good to me.
>
> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> Masami, do you want to take this?

Yeah, let me pick this.

Thanks!

>
> -- Steve
>
> > ---
> > kernel/trace/trace_uprobe.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
> > index 2cabf8a23ec5..aee0960d0cf7 100644
> > --- a/kernel/trace/trace_uprobe.c
> > +++ b/kernel/trace/trace_uprobe.c
> > @@ -912,7 +912,7 @@ static int uprobe_buffer_enable(void)
> > {
> > int ret = 0;
> >
> > - BUG_ON(!mutex_is_locked(&event_mutex));
> > + lockdep_assert_held(&event_mutex);
> >
> > if (uprobe_buffer_refcnt++ == 0) {
> > ret = uprobe_buffer_init();
> > @@ -927,7 +927,7 @@ static void uprobe_buffer_disable(void)
> > {
> > int cpu;
> >
> > - BUG_ON(!mutex_is_locked(&event_mutex));
> > + lockdep_assert_held(&event_mutex);
> >
> > if (--uprobe_buffer_refcnt == 0) {
> > for_each_possible_cpu(cpu)
>
>


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>