aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/xt_rateest.c
diff options
context:
space:
mode:
authorCong Wang <xiyou.wangcong@gmail.com>2018-03-01 18:58:38 -0800
committerPablo Neira Ayuso <pablo@netfilter.org>2018-03-05 23:15:44 +0100
commit3427b2ab63faccafe774ea997fc2da7faf690c5a (patch)
tree4fe7627db7e79379d4ab69522886e492a065184c /net/netfilter/xt_rateest.c
parent0d7df906a0e78079a02108b06d32c3ef2238ad25 (diff)
downloadlinux-3427b2ab63faccafe774ea997fc2da7faf690c5a.tar.gz
netfilter: make xt_rateest hash table per net
As suggested by Eric, we need to make the xt_rateest hash table and its lock per netns to reduce lock contentions. Cc: Florian Westphal <fw@strlen.de> Cc: Eric Dumazet <edumazet@google.com> Cc: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/xt_rateest.c')
-rw-r--r--net/netfilter/xt_rateest.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/netfilter/xt_rateest.c b/net/netfilter/xt_rateest.c
index 755d2f6693a2f..bf77326861afd 100644
--- a/net/netfilter/xt_rateest.c
+++ b/net/netfilter/xt_rateest.c
@@ -95,13 +95,13 @@ static int xt_rateest_mt_checkentry(const struct xt_mtchk_param *par)
}
ret = -ENOENT;
- est1 = xt_rateest_lookup(info->name1);
+ est1 = xt_rateest_lookup(par->net, info->name1);
if (!est1)
goto err1;
est2 = NULL;
if (info->flags & XT_RATEEST_MATCH_REL) {
- est2 = xt_rateest_lookup(info->name2);
+ est2 = xt_rateest_lookup(par->net, info->name2);
if (!est2)
goto err2;
}
@@ -111,7 +111,7 @@ static int xt_rateest_mt_checkentry(const struct xt_mtchk_param *par)
return 0;
err2:
- xt_rateest_put(est1);
+ xt_rateest_put(par->net, est1);
err1:
return ret;
}
@@ -120,9 +120,9 @@ static void xt_rateest_mt_destroy(const struct xt_mtdtor_param *par)
{
struct xt_rateest_match_info *info = par->matchinfo;
- xt_rateest_put(info->est1);
+ xt_rateest_put(par->net, info->est1);
if (info->est2)
- xt_rateest_put(info->est2);
+ xt_rateest_put(par->net, info->est2);
}
static struct xt_match xt_rateest_mt_reg __read_mostly = {