Commit 28337ff5438a640afa713d874d076e3a8a9150da

Authored by Eric Dumazet
Committed by Patrick McHardy
1 parent d060ffc184

netfilter: xt_hashlimit fix

Commit 784544739a25c30637397ace5489eeb6e15d7d49
(netfilter: iptables: lock free counters) broke xt_hashlimit netfilter module :

This module was storing a pointer inside its xt_hashlimit_info, and this pointer
is not relocated when we temporarly switch tables (iptables -L).

This hack is not not needed at all (probably a leftover from
ancient time), as each cpu should and can access to its own copy.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>

Showing 1 changed file with 1 additions and 4 deletions Side-by-side Diff

net/netfilter/xt_hashlimit.c
... ... @@ -565,8 +565,7 @@
565 565 static bool
566 566 hashlimit_mt_v0(const struct sk_buff *skb, const struct xt_match_param *par)
567 567 {
568   - const struct xt_hashlimit_info *r =
569   - ((const struct xt_hashlimit_info *)par->matchinfo)->u.master;
  568 + const struct xt_hashlimit_info *r = par->matchinfo;
570 569 struct xt_hashlimit_htable *hinfo = r->hinfo;
571 570 unsigned long now = jiffies;
572 571 struct dsthash_ent *dh;
... ... @@ -702,8 +701,6 @@
702 701 }
703 702 mutex_unlock(&hlimit_mutex);
704 703  
705   - /* Ugly hack: For SMP, we only want to use one set */
706   - r->u.master = r;
707 704 return true;
708 705 }
709 706