diff options
author | 2015-03-24 14:18:20 +0100 | |
---|---|---|
committer | 2015-03-24 17:48:40 -0400 | |
commit | 6b6f302ceda7a052dab545d6c69abf5f0d4a6cab (patch) | |
tree | 8464850fd94dba0dfa34c75c46dfb3fcf4c3c381 /security | |
parent | rhashtable: Disable automatic shrinking by default (diff) | |
download | linux-6b6f302ceda7a052dab545d6c69abf5f0d4a6cab.tar.gz linux-6b6f302ceda7a052dab545d6c69abf5f0d4a6cab.tar.bz2 linux-6b6f302ceda7a052dab545d6c69abf5f0d4a6cab.zip |
rhashtable: Add rhashtable_free_and_destroy()
rhashtable_destroy() variant which stops rehashes, iterates over
the table and calls a callback to release resources.
Avoids need for nft_hash to embed rhashtable internals and allows to
get rid of the being_destroyed flag. It also saves a 2nd mutex
lock upon destruction.
Also fixes an RCU lockdep splash on nft set destruction due to
calling rht_for_each_entry_safe() without holding bucket locks.
Open code this loop as we need know that no mutations may occur in
parallel.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions