On Sun, Mar 04, 2018 at 02:34:26PM +0200, Paul Blakey wrote:
> When inserting duplicate objects (those with the same key),
> current rhashtable implementation messes up the chain pointers by
> updating the bucket pointer instead of prev next pointer to the
> newly inserted node. This causes missing elements on removal and
> travesal.
>
> Fix that by properly updating pprev pointer to point to
> the correct rhash_head next pointer.
>
> Fixes: ca26893f05e8 ('rhashtable: Add rhlist interface')
> Signed-off-by: Paul Blakey <[email protected]>
Nack. You must not insert objects with the same key through
rhashtable. The reason is that we cannot reliably fetch all
of the objects with the same key during a resize.
If you need duplicate objects, you should use rhlist.
Cheers,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt