On our mlx5 driver fs_core.c, we use the rhltable interface to store flow groups. We noticed that sometimes we get a warning that flow group isn't found at removal. This rare case was caused when a specific scenario happened, insertion of a flow group with a similar match criteria (a duplicate), but only where the flow group rhash_head was second (or not first) on the relevant rhashtable bucket list.
The first patch fixes it, and the second one adds a test that show it is now working. Paul. v4 --> v3 changes: * Added Herbert Xu's ack (thanks) * Removed extra commit tags v3 --> v2 changes: * Added missing fix in rhashtable_lookup_one code path as well. v2 --> v1 changes: * Changed commit messages to better reflect the change Paul Blakey (2): rhashtable: Fix rhlist duplicates insertion test_rhashtable: add test case for rhltable with duplicate objects include/linux/rhashtable.h | 4 +- lib/rhashtable.c | 4 +- lib/test_rhashtable.c | 134 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 140 insertions(+), 2 deletions(-) -- 1.8.4.3