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 | |
| 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>
| -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 | ||
