Re: [bug report] ipv6: addrconf: add per netns perturbation in inet6_addr_hash()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Nov 4, 2017 at 1:31 AM, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> Hello Eric Dumazet,
>
> The patch 3f27fb23219e: "ipv6: addrconf: add per netns perturbation
> in inet6_addr_hash()" from Oct 23, 2017, leads to the following
> static checker warning:
>
>         net/core/pktgen.c:2169 pktgen_setup_inject()
>         error: buffer overflow 'pkt_dev->cur_in6_saddr.in6_u.u6_addr8' 16 <= 255
>
> net/core/pktgen.c
>   2157          if (pkt_dev->flags & F_IPV6) {
>   2158                  int i, set = 0, err = 1;
>   2159                  struct inet6_dev *idev;
>   2160
>   2161                  if (pkt_dev->min_pkt_size == 0) {
>   2162                          pkt_dev->min_pkt_size = 14 + sizeof(struct ipv6hdr)
>   2163                                                  + sizeof(struct udphdr)
>   2164                                                  + sizeof(struct pktgen_hdr)
>   2165                                                  + pkt_dev->pkt_overhead;
>   2166                  }
>   2167
>   2168                  for (i = 0; i < IN6_ADDR_HSIZE; i++)
>                                         ^^^^^^^^^^^^^^
> My guess is that this is the wrong test here, but I don't know for sure.
>
>   2169                          if (pkt_dev->cur_in6_saddr.s6_addr[i]) {
>                                                            ^^^^^^^^^^
> This used to work but now that IN6_ADDR_HSIZE is 256 instead of 16 we're
> reading beyond the end of the array.
>
>   2170                                  set = 1;
>   2171                                  break;
>   2172                          }
>   2173
>   2174                  if (!set) {
>   2175
>   2176                          /*
>   2177                           * Use linklevel address if unconfigured.
>   2178                           *
>   2179                           * use ipv6_get_lladdr if/when it's get exported
>   2180                           */
>   2181
>
> regards,
> dan carpenter

pktgen is obviously wrong.

Thanks for the report.
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux