aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/netfilter/nft_hash.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2014-11-13 13:45:46 +0100
committerDavid S. Miller <davem@davemloft.net>2014-11-13 15:18:40 -0500
commit6eba82248ef47fd478f940a418429e3ec95cb3db (patch)
tree77e82bd157c6b164347f02ba6c33e5abe4860f86 /net/netfilter/nft_hash.c
parentMerge branch 'mlx4-next' (diff)
downloadwireguard-linux-6eba82248ef47fd478f940a418429e3ec95cb3db.tar.xz
wireguard-linux-6eba82248ef47fd478f940a418429e3ec95cb3db.zip
rhashtable: Drop gfp_flags arg in insert/remove functions
Reallocation is only required for shrinking and expanding and both rely on a mutex for synchronization and callers of rhashtable_init() are in non atomic context. Therefore, no reason to continue passing allocation hints through the API. Instead, use GFP_KERNEL and add __GFP_NOWARN | __GFP_NORETRY to allow for silent fall back to vzalloc() without the OOM killer jumping in as pointed out by Eric Dumazet and Eric W. Biederman. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netfilter/nft_hash.c')
-rw-r--r--net/netfilter/nft_hash.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/netfilter/nft_hash.c b/net/netfilter/nft_hash.c
index 3f75aaaf9d06..1e316ce4cb5d 100644
--- a/net/netfilter/nft_hash.c
+++ b/net/netfilter/nft_hash.c
@@ -65,7 +65,7 @@ static int nft_hash_insert(const struct nft_set *set,
if (set->flags & NFT_SET_MAP)
nft_data_copy(he->data, &elem->data);
- rhashtable_insert(priv, &he->node, GFP_KERNEL);
+ rhashtable_insert(priv, &he->node);
return 0;
}
@@ -88,7 +88,7 @@ static void nft_hash_remove(const struct nft_set *set,
pprev = elem->cookie;
he = rht_dereference((*pprev), priv);
- rhashtable_remove_pprev(priv, he, pprev, GFP_KERNEL);
+ rhashtable_remove_pprev(priv, he, pprev);
synchronize_rcu();
kfree(he);