Re: [RFC PATCH 1/3] net: Remove unnecessary memset in __snmp6_fill_stats64

From: Florian Westphal
Date: Mon Aug 08 2016 - 07:12:40 EST


Jia He <hejianet@xxxxxxxxx> wrote:
> buff[] will be assigned later, so memset is not necessary.
>
> Signed-off-by: Jia He <hejianet@xxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>
> Cc: James Morris <jmorris@xxxxxxxxx>
> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx>
> Cc: Patrick McHardy <kaber@xxxxxxxxx>
> ---
> net/ipv6/addrconf.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index ab3e796..43fa8d0 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -4967,7 +4967,6 @@ static inline void __snmp6_fill_stats64(u64 *stats, void __percpu *mib,
>
> BUG_ON(pad < 0);
>
> - memset(buff, 0, sizeof(buff));
> buff[0] = IPSTATS_MIB_MAX;
>
> for_each_possible_cpu(c) {
for (i = 1; i < IPSTATS_MIB_MAX; i++)
buff[i] += snmp_get_cpu_field64(mib, c, i, syncpoff);

Without memset result of buff[i] += ... is undefined.