On Wed, Oct 14, 2020 at 11:34:05AM -0700, Paul E. McKenney wrote: > commit 7deaa04b02298001426730ed0e6214ac20d1a1c1 > Author: Paul E. McKenney <paulmck@xxxxxxxxxx> > Date: Tue Oct 13 12:39:23 2020 -0700 > > rcu: Prevent lockdep-RCU splats on lock acquisition/release > > The rcu_cpu_starting() and rcu_report_dead() functions transition the > current CPU between online and offline state from an RCU perspective. > Unfortunately, this means that the rcu_cpu_starting() function's lock > acquisition and the rcu_report_dead() function's lock releases happen > while the CPU is offline from an RCU perspective, which can result in > lockdep-RCU splats about using RCU from an offline CPU. In reality, > aside from the splats, both transitions are safe because a new grace > period cannot start until these functions release their locks. But we call the trace_* crud before we acquire the lock. Are you sure that's a false-positive?