Re: [LKP] [PATCH v2] rhashtable: Kill harmless RCU warning in rhashtable_walk_init

From: Fengguang Wu
Date: Fri Dec 18 2015 - 23:48:12 EST


On Fri, Dec 18, 2015 at 11:42:59PM -0500, David Miller wrote:
> From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> 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 <herbert@xxxxxxxxxxxxxxxxxxx>
> >> 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 <ying.huang@xxxxxxxxxxxxxxx>
> > Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
>
> 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 <herbert@xxxxxxxxxxxxxxxxxxx>
AuthorDate: Wed Dec 16 16:45:54 2015 +0800
Commit: 0day robot <fengguang.wu@xxxxxxxxx>
CommitDate: Wed Dec 16 16:48:36 2015 +0800

rhashtable: Fix walker list corruption

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/