diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-06-22 16:58:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-26 00:33:17 -0400 |
commit | 1823e4c80eeae2a774c75569ce3035070e5ee009 (patch) | |
tree | bdc1bdf4a67027193312ad584924ca8a986a064c /net/ipv6/addrconf.c | |
parent | 5eaa0bd81f93225b6d1972b373ed00ca763052b2 (diff) |
snmp: add align parameter to snmp_mib_init()
In preparation for 64bit snmp counters for some mibs,
add an 'align' parameter to snmp_mib_init(), instead
of assuming mibs only contain 'unsigned long' fields.
Callers can use __alignof__(type) to provide correct
alignment.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Herbert Xu <herbert@gondor.apana.org.au>
CC: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
CC: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
CC: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index b97bb1f30808..c20a7c260a8f 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -284,13 +284,16 @@ static void addrconf_mod_timer(struct inet6_ifaddr *ifp, | |||
284 | static int snmp6_alloc_dev(struct inet6_dev *idev) | 284 | static int snmp6_alloc_dev(struct inet6_dev *idev) |
285 | { | 285 | { |
286 | if (snmp_mib_init((void __percpu **)idev->stats.ipv6, | 286 | if (snmp_mib_init((void __percpu **)idev->stats.ipv6, |
287 | sizeof(struct ipstats_mib)) < 0) | 287 | sizeof(struct ipstats_mib), |
288 | __alignof__(struct ipstats_mib)) < 0) | ||
288 | goto err_ip; | 289 | goto err_ip; |
289 | if (snmp_mib_init((void __percpu **)idev->stats.icmpv6, | 290 | if (snmp_mib_init((void __percpu **)idev->stats.icmpv6, |
290 | sizeof(struct icmpv6_mib)) < 0) | 291 | sizeof(struct icmpv6_mib), |
292 | __alignof__(struct icmpv6_mib)) < 0) | ||
291 | goto err_icmp; | 293 | goto err_icmp; |
292 | if (snmp_mib_init((void __percpu **)idev->stats.icmpv6msg, | 294 | if (snmp_mib_init((void __percpu **)idev->stats.icmpv6msg, |
293 | sizeof(struct icmpv6msg_mib)) < 0) | 295 | sizeof(struct icmpv6msg_mib), |
296 | __alignof__(struct icmpv6msg_mib)) < 0) | ||
294 | goto err_icmpmsg; | 297 | goto err_icmpmsg; |
295 | 298 | ||
296 | return 0; | 299 | return 0; |