|
@@ -4961,18 +4961,18 @@ static inline size_t inet6_if_nlmsg_size(void)
|
|
|
}
|
|
|
|
|
|
static inline void __snmp6_fill_statsdev(u64 *stats, atomic_long_t *mib,
|
|
|
- int items, int bytes)
|
|
|
+ int bytes)
|
|
|
{
|
|
|
int i;
|
|
|
- int pad = bytes - sizeof(u64) * items;
|
|
|
+ int pad = bytes - sizeof(u64) * ICMP6_MIB_MAX;
|
|
|
BUG_ON(pad < 0);
|
|
|
|
|
|
/* Use put_unaligned() because stats may not be aligned for u64. */
|
|
|
- put_unaligned(items, &stats[0]);
|
|
|
- for (i = 1; i < items; i++)
|
|
|
+ put_unaligned(ICMP6_MIB_MAX, &stats[0]);
|
|
|
+ for (i = 1; i < ICMP6_MIB_MAX; i++)
|
|
|
put_unaligned(atomic_long_read(&mib[i]), &stats[i]);
|
|
|
|
|
|
- memset(&stats[items], 0, pad);
|
|
|
+ memset(&stats[ICMP6_MIB_MAX], 0, pad);
|
|
|
}
|
|
|
|
|
|
static inline void __snmp6_fill_stats64(u64 *stats, void __percpu *mib,
|
|
@@ -5005,7 +5005,7 @@ static void snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype,
|
|
|
offsetof(struct ipstats_mib, syncp));
|
|
|
break;
|
|
|
case IFLA_INET6_ICMP6STATS:
|
|
|
- __snmp6_fill_statsdev(stats, idev->stats.icmpv6dev->mibs, ICMP6_MIB_MAX, bytes);
|
|
|
+ __snmp6_fill_statsdev(stats, idev->stats.icmpv6dev->mibs, bytes);
|
|
|
break;
|
|
|
}
|
|
|
}
|