Re: [linux-next:master] [tracing] dfe0d675df: WARNING:suspicious_RCU_usage
From: Menglong Dong
Date: Thu Aug 28 2025 - 20:47:20 EST
On Thu, Aug 28, 2025 at 10:34 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> On Thu, 28 Aug 2025 17:09:35 +0800
> Menglong Dong <menglong8.dong@xxxxxxxxx> wrote:
>
> > > [ 354.955971][ T4652] dump_stack_lvl+0x7c/0x90
> > > [ 354.955978][ T4652] lockdep_rcu_suspicious+0x14f/0x1c0
> > > [ 354.955987][ T4652] __rhashtable_lookup+0x1e0/0x260
> >
> > rcu_read_lock() is not needed in fprobe_entry, but
> > rcu_dereference_check() is used in rhltable_lookup(), which
> > causes this warning.
>
> Why is rcu_read_lock() not needed in fprobe_entry()?
This is how it worked previously. In ftrace_test_recursion_trylock(),
preemption will be disabled, which ensure the RCU read-side
critical section.
Thanks!
Menglong Dong
>
> -- Steve
>
> >
> > Adding rcu_read_lock() here is able to suppress this warning.
> > Maybe we need only rcu_lock_acquire(&rcu_lock_map) here,
> > but it's not a common usage. What do you think, Masami?
>