On Tue, Mar 27 2018, David Miller wrote: > From: NeilBrown <ne...@suse.com> > Date: Tue, 27 Mar 2018 10:33:04 +1100 > >> In many cases where the walker needs to drop out of RCU protection, >> it will take a reference to the object and this can prevent it from >> being removed from the hash table. In those cases, the last-returned >> object can still be used as a cursor. rhashtable cannot detect >> these cases itself. > > Merely having an elevated reference count does not explicitly prevent > the object from being removed from the hash table. > > This invariant might hold for the particular user of the rhashtable > instance, but it is not always the case.
Agreed. Hence "In many case ... this *can* be prevented" and "In those cases". The doc comment for rhashtable_walk_start_continue() makes it clear that: * The * previously returned object must still be in the hash table, and must be * provided as an argument. Thanks, NeilBrown
signature.asc
Description: PGP signature