diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-04-14 21:28:32 (GMT) |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-04-14 21:28:32 (GMT) |
commit | 4b2f8838479eb2abe042e094f7d2cced6d5ea772 (patch) | |
tree | 5ef3236b354a494c8d71a572896283e44989c696 /net/netfilter/xt_recent.c | |
parent | c848791f0336914a3081ea3fe029cf177d81de81 (diff) | |
parent | 9fd85eb502a78bd812db58bd1f668b2a06ee30a5 (diff) | |
download | linux-4b2f8838479eb2abe042e094f7d2cced6d5ea772.tar.xz |
Merge branch 'devel-stable' into for-next
Diffstat (limited to 'net/netfilter/xt_recent.c')
-rw-r--r-- | net/netfilter/xt_recent.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/net/netfilter/xt_recent.c b/net/netfilter/xt_recent.c index 30dbe34..45e1b30 100644 --- a/net/netfilter/xt_recent.c +++ b/net/netfilter/xt_recent.c @@ -378,12 +378,11 @@ static int recent_mt_check(const struct xt_mtchk_param *par, mutex_lock(&recent_mutex); t = recent_table_lookup(recent_net, info->name); if (t != NULL) { - if (info->hit_count > t->nstamps_max_mask) { - pr_info("hitcount (%u) is larger than packets to be remembered (%u) for table %s\n", - info->hit_count, t->nstamps_max_mask + 1, - info->name); - ret = -EINVAL; - goto out; + if (nstamp_mask > t->nstamps_max_mask) { + spin_lock_bh(&recent_lock); + recent_table_flush(t); + t->nstamps_max_mask = nstamp_mask; + spin_unlock_bh(&recent_lock); } t->refcnt++; |