diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-06-29 21:14:40 +0200 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-06-29 21:14:40 +0200 |
commit | 8dd10256cb24ceade8b40bd1604f03ddac8589e2 (patch) | |
tree | 9b6e5deae0b5d349122c82b63019d6bb36a66aeb /kernel/ip_set_bitmap_ipmac.c | |
parent | 780f6384c5c6639da3f5a6ac8d30653e8a26d6c0 (diff) |
ipset 5: Sparc related and compatibility fixesv5.0-pre5
ipset 5 is tested on Sparc, which revealed some compatibility issues
and those are fixed. Kernels from 2.6.31 onward are supported.
The testsuite checkings are completed to run match/target checks.
The README file is updated to reflect the requirements to install
and run ipset 5.
Diffstat (limited to 'kernel/ip_set_bitmap_ipmac.c')
-rw-r--r-- | kernel/ip_set_bitmap_ipmac.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/ip_set_bitmap_ipmac.c b/kernel/ip_set_bitmap_ipmac.c index 3c94975..5833c77 100644 --- a/kernel/ip_set_bitmap_ipmac.c +++ b/kernel/ip_set_bitmap_ipmac.c @@ -61,13 +61,13 @@ struct ipmac { struct ipmac_elem { unsigned char ether[ETH_ALEN]; unsigned char match; -}; +} __attribute__ ((aligned)); struct ipmac_telem { unsigned char ether[ETH_ALEN]; unsigned char match; unsigned long timeout; -}; +} __attribute__ ((aligned)); static inline void * bitmap_ipmac_elem(const struct bitmap_ipmac *map, u32 id) @@ -376,7 +376,7 @@ bitmap_ipmac_uadt(struct ip_set *set, struct nlattr *head, int len, enum ipset_adt adt, u32 *lineno, u32 flags) { struct bitmap_ipmac *map = set->data; - struct nlattr *tb[IPSET_ATTR_ADT_MAX]; + struct nlattr *tb[IPSET_ATTR_ADT_MAX+1]; ipset_adtfn adtfn = set->variant->adt[adt]; struct ipmac data; u32 timeout = map->timeout; @@ -570,7 +570,7 @@ static int bitmap_ipmac_create(struct ip_set *set, struct nlattr *head, int len, u32 flags) { - struct nlattr *tb[IPSET_ATTR_CREATE_MAX]; + struct nlattr *tb[IPSET_ATTR_CREATE_MAX+1]; u32 first_ip, last_ip, elements; struct bitmap_ipmac *map; |