On Wed, 2020-02-19 at 22:27 +0100, Arend Van Spriel wrote: > On 2/19/2020 10:13 AM, Johannes Berg wrote: > > On Wed, 2020-02-19 at 14:41 +0530, Amol Grover wrote: > > > > > > - WARN_ON_ONCE(!rcu_read_lock_held() && !lockdep_rtnl_is_held()); > > > - > > > - list_for_each_entry_rcu(pos, &rdev->sched_scan_req_list, list) { > > > + list_for_each_entry_rcu(pos, &rdev->sched_scan_req_list, list, > > > + lockdep_rtnl_is_held()) { > > > > Huh, I didn't even know you _could_ do that :) > > Me neither ;-). Above you are removing the WARN_ON_ONCE() entirely. > Would it not be good to keep the WARN_ON_ONCE() with only the > !rcu_read_lock_held() check. Not needed, the macro expansion will already contain rcu_read_lock_any_held() just like in all the other cases where you pass a lockdep condition to RCU helpers. johannes