[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6ec928b7-6980-4e9a-bab5-654c91db4a95@mandelbit.com>
Date: Tue, 15 Apr 2025 09:42:18 +0200
From: Antonio Quartulli <antonio@...delbit.com>
To: Breno Leitao <leitao@...ian.org>, Steven Rostedt <rostedt@...dmis.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org,
kernel-team@...a.com
Subject: Re: [PATCH] tracing: fprobe: Fix RCU warning message in list
traversal
On 10/04/2025 14:22, Breno Leitao wrote:
> When CONFIG_PROVE_RCU_LIST is enabled, fprobe triggers the following
> warning:
>
> WARNING: suspicious RCU usage
> kernel/trace/fprobe.c:457 RCU-list traversed in non-reader section!!
>
> other info that might help us debug this:
> #1: ffffffff863c4e08 (fprobe_mutex){+.+.}-{4:4}, at: fprobe_module_callback+0x7b/0x8c0
>
> Call Trace:
> fprobe_module_callback
> notifier_call_chain
> blocking_notifier_call_chain
>
> This warning occurs because fprobe_remove_node_in_module() traverses an
> RCU list using RCU primitives without holding an RCU read lock. However,
> the function is only called from fprobe_module_callback(), which holds
> the fprobe_mutex lock that provides sufficient protection for safely
> traversing the list.
>
> Fix the warning by specifying the locking design to the
> CONFIG_PROVE_RCU_LIST mechanism. Add the lockdep_is_held() argument to
> hlist_for_each_entry_rcu() to inform the RCU checker that fprobe_mutex
> provides the required protection.
>
> Fixes: a3dc2983ca7b90 ("tracing: fprobe: Cleanup fprobe hash when module unloading")
> Signed-off-by: Breno Leitao <leitao@...ian.org>
I just hit this issue and I verified that the patch actually solves it
without causing side effects.
FWIW
Tested-by: Antonio Quartulli <antonio@...delbit.com>
--
Antonio Quartulli
CEO and Co-Founder
Mandelbit Srl
https://www.mandelbit.com
Powered by blists - more mailing lists