aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/netfilter/xt_quota.h
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2009-03-16 15:35:29 +0100
committerPatrick McHardy <kaber@trash.net>2009-03-16 15:35:29 +0100
commitacc738fec03bdaa5b77340c32a82fbfedaaabef0 (patch)
tree646495518d8e4946862ab9d361eb2248d4212be5 /include/linux/netfilter/xt_quota.h
parent95ba434f898c3cb5c7457dce265bf0ab72ba8ce9 (diff)
downloadkernel_samsung_smdk4412-acc738fec03bdaa5b77340c32a82fbfedaaabef0.zip
kernel_samsung_smdk4412-acc738fec03bdaa5b77340c32a82fbfedaaabef0.tar.gz
kernel_samsung_smdk4412-acc738fec03bdaa5b77340c32a82fbfedaaabef0.tar.bz2
netfilter: xtables: avoid pointer to self
Commit 784544739a25c30637397ace5489eeb6e15d7d49 (netfilter: iptables: lock free counters) broke a number of modules whose rule data referenced itself. A reallocation would not reestablish the correct references, so it is best to use a separate struct that does not fall under RCU. Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'include/linux/netfilter/xt_quota.h')
-rw-r--r--include/linux/netfilter/xt_quota.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/netfilter/xt_quota.h b/include/linux/netfilter/xt_quota.h
index 4c8368d..8dc89df 100644
--- a/include/linux/netfilter/xt_quota.h
+++ b/include/linux/netfilter/xt_quota.h
@@ -6,13 +6,15 @@ enum xt_quota_flags {
};
#define XT_QUOTA_MASK 0x1
+struct xt_quota_priv;
+
struct xt_quota_info {
u_int32_t flags;
u_int32_t pad;
/* Used internally by the kernel */
aligned_u64 quota;
- struct xt_quota_info *master;
+ struct xt_quota_priv *master;
};
#endif /* _XT_QUOTA_H */