On Mon, 2017-05-29 at 23:31 -0400, David Miller wrote: > From: Alexey Dobriyan <adobri...@gmail.com> > Date: Sat, 27 May 2017 18:15:14 +0300 > > >> --- a/net/ipv6/ndisc.c > >> +++ b/net/ipv6/ndisc.c > >> @@ -148,17 +148,18 @@ void __ndisc_fill_addr_option(struct sk_buff *skb, > >> int type, void *data, > > > >> space -= data_len; > >> - if (space > 0) > >> - memset(opt, 0, space); > >> + > >> + memset(opt, 0, space); > > > > This can't be right. > > > > And what size are you reducing? > > It is right, space equals the same thing it would have equaled > before his changes, and a memset() of zero length will do the > right thing. > > Finally, if space can be negative here, we have real problems.
__ndisc_fill_addr_option is exported so yeah.