On Fri, Dec 18, 2015 at 11:42:59PM -0500, David Miller wrote: > From: Herbert Xu > Date: Sat, 19 Dec 2015 10:45:28 +0800 > > > On Fri, Dec 18, 2015 at 04:27:31PM -0500, David Miller wrote: > >> From: Herbert Xu > >> Date: Fri, 18 Dec 2015 21:14:08 +0800 > >> > >> > On Fri, Dec 18, 2015 at 04:54:14AM -0800, Eric Dumazet wrote: > >> >> > >> >> You can avoid the comment by using the self documented and lockdep > >> >> enabled primitive > >> >> > >> >> iter->walker->tbl = rcu_dereference_protected(ht->tbl, > >> >> lockdep_is_held(&ht->lock)); > >> > > >> > That is just gross. I think a comment is much better in this case. > >> > >> Herbert, this macro was created exactly to handle this situation, > >> and this is what we do everywhere else in the tree. > > > > OK. > > > > ---8<--- > > The commit f9f51b8070be3e829100614a7372b219723b864f ("rhashtable: > > Fix walker list corruption") causes a suspicious RCU usage warning > > because we no longer hold ht->mutex when we dereference ht->tbl. > > > > However, this is a false positive because we now hold ht->lock > > which also guarantees that ht->tbl won't disppear from under us. > > > > This patch kills the warning by using rcu_dereference_protected. > > > > Reported-by: kernel test robot > > Signed-off-by: Herbert Xu > > The correct commti SHA1 is c6ff5268293ef98e48a99597e765ffc417e39fa5. > > Or at least, when I run: > > git show f9f51b8070be3e829100614a7372b219723b864f > > I get: > > fatal: bad object f9f51b8070be3e829100614a7372b219723b864f > > :-) Oops, that commit comes from 0day robot :-) > https://github.com/0day-ci/linux Herbert-Xu/rhashtable-Fix-walker-list-corruption/20151216-164833 > commit f9f51b8070be3e829100614a7372b219723b864f ("rhashtable: Fix walker list corruption") commit f9f51b8070be3e829100614a7372b219723b864f Author: Herbert Xu AuthorDate: Wed Dec 16 16:45:54 2015 +0800 Commit: 0day robot CommitDate: Wed Dec 16 16:48:36 2015 +0800 rhashtable: Fix walker list corruption Thanks, Fengguang