diff options
author | Florian Westphal <fw@strlen.de> | 2010-01-27 08:38:32 -0500 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2010-02-16 11:27:20 -0500 |
commit | 314ddca3b172fdb9c23a25c545505dbde557602e (patch) | |
tree | 3b1d737beece06ff9191b9767ae05d603c963f2c /net/bridge | |
parent | 90b89af7e15143c8ea22f5c8818f5a2eec9e75c1 (diff) |
netfilter: ebt_limit: add CONFIG_COMPAT support
ebt_limit structure is larger on 64 bit systems due
to "long" type used in the (kernel-only) data section.
Setting .compatsize is enough in this case, these values
have no meaning in userspace.
Signed-off-by: Florian Westphal <fwestphal@astaro.com>
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/netfilter/ebt_limit.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/net/bridge/netfilter/ebt_limit.c b/net/bridge/netfilter/ebt_limit.c index 9dd16e6b10e7..7a8182710eb3 100644 --- a/net/bridge/netfilter/ebt_limit.c +++ b/net/bridge/netfilter/ebt_limit.c | |||
@@ -84,6 +84,19 @@ static bool ebt_limit_mt_check(const struct xt_mtchk_param *par) | |||
84 | return true; | 84 | return true; |
85 | } | 85 | } |
86 | 86 | ||
87 | |||
88 | #ifdef CONFIG_COMPAT | ||
89 | /* | ||
90 | * no conversion function needed -- | ||
91 | * only avg/burst have meaningful values in userspace. | ||
92 | */ | ||
93 | struct ebt_compat_limit_info { | ||
94 | compat_uint_t avg, burst; | ||
95 | compat_ulong_t prev; | ||
96 | compat_uint_t credit, credit_cap, cost; | ||
97 | }; | ||
98 | #endif | ||
99 | |||
87 | static struct xt_match ebt_limit_mt_reg __read_mostly = { | 100 | static struct xt_match ebt_limit_mt_reg __read_mostly = { |
88 | .name = "limit", | 101 | .name = "limit", |
89 | .revision = 0, | 102 | .revision = 0, |
@@ -91,6 +104,9 @@ static struct xt_match ebt_limit_mt_reg __read_mostly = { | |||
91 | .match = ebt_limit_mt, | 104 | .match = ebt_limit_mt, |
92 | .checkentry = ebt_limit_mt_check, | 105 | .checkentry = ebt_limit_mt_check, |
93 | .matchsize = sizeof(struct ebt_limit_info), | 106 | .matchsize = sizeof(struct ebt_limit_info), |
107 | #ifdef CONFIG_COMPAT | ||
108 | .compatsize = sizeof(struct ebt_compat_limit_info), | ||
109 | #endif | ||
94 | .me = THIS_MODULE, | 110 | .me = THIS_MODULE, |
95 | }; | 111 | }; |
96 | 112 | ||