diff options
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index c79cbff54370..b0d4a4b23db5 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -278,31 +278,31 @@ static void addrconf_mod_timer(struct inet6_ifaddr *ifp, | |||
278 | 278 | ||
279 | static int snmp6_alloc_dev(struct inet6_dev *idev) | 279 | static int snmp6_alloc_dev(struct inet6_dev *idev) |
280 | { | 280 | { |
281 | if (snmp_mib_init((void **)idev->stats.ipv6, | 281 | if (snmp_mib_init((void __percpu **)idev->stats.ipv6, |
282 | sizeof(struct ipstats_mib)) < 0) | 282 | sizeof(struct ipstats_mib)) < 0) |
283 | goto err_ip; | 283 | goto err_ip; |
284 | if (snmp_mib_init((void **)idev->stats.icmpv6, | 284 | if (snmp_mib_init((void __percpu **)idev->stats.icmpv6, |
285 | sizeof(struct icmpv6_mib)) < 0) | 285 | sizeof(struct icmpv6_mib)) < 0) |
286 | goto err_icmp; | 286 | goto err_icmp; |
287 | if (snmp_mib_init((void **)idev->stats.icmpv6msg, | 287 | if (snmp_mib_init((void __percpu **)idev->stats.icmpv6msg, |
288 | sizeof(struct icmpv6msg_mib)) < 0) | 288 | sizeof(struct icmpv6msg_mib)) < 0) |
289 | goto err_icmpmsg; | 289 | goto err_icmpmsg; |
290 | 290 | ||
291 | return 0; | 291 | return 0; |
292 | 292 | ||
293 | err_icmpmsg: | 293 | err_icmpmsg: |
294 | snmp_mib_free((void **)idev->stats.icmpv6); | 294 | snmp_mib_free((void __percpu **)idev->stats.icmpv6); |
295 | err_icmp: | 295 | err_icmp: |
296 | snmp_mib_free((void **)idev->stats.ipv6); | 296 | snmp_mib_free((void __percpu **)idev->stats.ipv6); |
297 | err_ip: | 297 | err_ip: |
298 | return -ENOMEM; | 298 | return -ENOMEM; |
299 | } | 299 | } |
300 | 300 | ||
301 | static void snmp6_free_dev(struct inet6_dev *idev) | 301 | static void snmp6_free_dev(struct inet6_dev *idev) |
302 | { | 302 | { |
303 | snmp_mib_free((void **)idev->stats.icmpv6msg); | 303 | snmp_mib_free((void __percpu **)idev->stats.icmpv6msg); |
304 | snmp_mib_free((void **)idev->stats.icmpv6); | 304 | snmp_mib_free((void __percpu **)idev->stats.icmpv6); |
305 | snmp_mib_free((void **)idev->stats.ipv6); | 305 | snmp_mib_free((void __percpu **)idev->stats.ipv6); |
306 | } | 306 | } |
307 | 307 | ||
308 | /* Nobody refers to this device, we may destroy it. */ | 308 | /* Nobody refers to this device, we may destroy it. */ |
@@ -3766,8 +3766,8 @@ static inline size_t inet6_if_nlmsg_size(void) | |||
3766 | ); | 3766 | ); |
3767 | } | 3767 | } |
3768 | 3768 | ||
3769 | static inline void __snmp6_fill_stats(u64 *stats, void **mib, int items, | 3769 | static inline void __snmp6_fill_stats(u64 *stats, void __percpu **mib, |
3770 | int bytes) | 3770 | int items, int bytes) |
3771 | { | 3771 | { |
3772 | int i; | 3772 | int i; |
3773 | int pad = bytes - sizeof(u64) * items; | 3773 | int pad = bytes - sizeof(u64) * items; |
@@ -3786,10 +3786,10 @@ static void snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype, | |||
3786 | { | 3786 | { |
3787 | switch(attrtype) { | 3787 | switch(attrtype) { |
3788 | case IFLA_INET6_STATS: | 3788 | case IFLA_INET6_STATS: |
3789 | __snmp6_fill_stats(stats, (void **)idev->stats.ipv6, IPSTATS_MIB_MAX, bytes); | 3789 | __snmp6_fill_stats(stats, (void __percpu **)idev->stats.ipv6, IPSTATS_MIB_MAX, bytes); |
3790 | break; | 3790 | break; |
3791 | case IFLA_INET6_ICMP6STATS: | 3791 | case IFLA_INET6_ICMP6STATS: |
3792 | __snmp6_fill_stats(stats, (void **)idev->stats.icmpv6, ICMP6_MIB_MAX, bytes); | 3792 | __snmp6_fill_stats(stats, (void __percpu **)idev->stats.icmpv6, ICMP6_MIB_MAX, bytes); |
3793 | break; | 3793 | break; |
3794 | } | 3794 | } |
3795 | } | 3795 | } |