On Thu, 30 Apr 2026 06:35:10 +0100
David Carlier <[email protected]> wrote:

> Without it, sites converted from trace_foo(args) to trace_call__foo(args)
> lose the WARN_ONCE(!rcu_is_watching()) coverage under CONFIG_LOCKDEP when
> the tracepoint is enabled - the case that commit c2679254b9c9 ("tracing:
> Make tracepoint lockdep check actually test something") added the warning
> for.
> 
> Mirror the same block in both trace_call__##name() bodies, gated by
> (cond) in __DECLARE_TRACE to match its trace_##name() and ungated in
> __DECLARE_TRACE_SYSCALL.

If it gets called without rcu watching, the rcu dereference in
__DO_TRACE_CALL() will trigger.

No need to add the warning here. The reason the trace_foo() had it, was to
trigger when the tracepoint WASN'T enabled.

Now, perhaps where the warning should go, is in the trace_foo_enabled()
code.

-- Steve

Reply via email to