On Sun, Feb 16, 2020 at 04:35:54PM +0100, Sven Eckelmann wrote: > On Sunday, 16 February 2020 16:33:24 CET Madhuparna Bhowmik wrote: > [...] > > > Can you tell us how you've identified these four hlist_for_each_entry_rcu? > > > > The other hlist_for_each_entry_rcu() are used under the protection of > > rcu_read_lock(). We only need to pass the cond when > > hlist_for_each_entry_rcu() is used under a > > different lock (not under rcu_red_lock()) because according to the current > > scheme a lockdep splat > > is generated when hlist_for_each_entry_rcu() is used outside of > > rcu_read_lock() or the lockdep condition (the cond argument) evaluates > > to false. So, we need to pass this cond when it is used under the > > protection of spinlock or mutex etc. and not required if rcu_read_lock() > > is used. > > I understand this part. I was asking how you've identified them. Did you use > any tool for that? coccinelle, sparse, ... > Hi,
Not really, I did it manually by inspecting each occurence. Thank you, Madhuparna > Kind regards, > Sven