aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChangli Gao <xiaosuo@gmail.com>2010-07-23 08:07:47 -0400
committerPatrick McHardy <kaber@trash.net>2010-07-23 08:07:47 -0400
commit49daf6a22622d4e1619aeaad5f9f0472bf89daff (patch)
treea86af0b0f846fc187eaa45ffdad96976bfd38331
parentb0c81aa566cccbe26bd99237873fb8428827d82f (diff)
xt_quota: report initial quota value instead of current value to userspace
We should copy the initial value to userspace for iptables-save and to allow removal of specific quota rules. Signed-off-by: Changli Gao <xiaosuo@gmail.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r--include/linux/netfilter/xt_quota.h2
-rw-r--r--net/netfilter/xt_quota.c2
2 files changed, 1 insertions, 3 deletions
diff --git a/include/linux/netfilter/xt_quota.h b/include/linux/netfilter/xt_quota.h
index 8dc89dfc1361..b0d28c659ab7 100644
--- a/include/linux/netfilter/xt_quota.h
+++ b/include/linux/netfilter/xt_quota.h
@@ -11,9 +11,9 @@ struct xt_quota_priv;
11struct xt_quota_info { 11struct xt_quota_info {
12 u_int32_t flags; 12 u_int32_t flags;
13 u_int32_t pad; 13 u_int32_t pad;
14 aligned_u64 quota;
14 15
15 /* Used internally by the kernel */ 16 /* Used internally by the kernel */
16 aligned_u64 quota;
17 struct xt_quota_priv *master; 17 struct xt_quota_priv *master;
18}; 18};
19 19
diff --git a/net/netfilter/xt_quota.c b/net/netfilter/xt_quota.c
index 304b1fda1a0d..70eb2b4984dd 100644
--- a/net/netfilter/xt_quota.c
+++ b/net/netfilter/xt_quota.c
@@ -36,8 +36,6 @@ quota_mt(const struct sk_buff *skb, struct xt_action_param *par)
36 /* we do not allow even small packets from now on */ 36 /* we do not allow even small packets from now on */
37 priv->quota = 0; 37 priv->quota = 0;
38 } 38 }
39 /* Copy quota back to matchinfo so that iptables can display it */
40 q->quota = priv->quota;
41 spin_unlock_bh(&priv->lock); 39 spin_unlock_bh(&priv->lock);
42 40
43 return ret; 41 return ret;