On Thu, Aug 31, 2017 at 6:58 AM, Mike Galbraith <efa...@gmx.de> wrote: > gdb) list *in6_dev_get+0x10 > 0xffffffff8166d3d0 is in in6_dev_get (./include/net/addrconf.h:318). > 313 { > 314 struct inet6_dev *idev; > 315 > 316 rcu_read_lock(); > 317 idev = rcu_dereference(dev->ip6_ptr); > 318 if (idev) > 319 refcount_inc(&idev->refcnt); > 320 rcu_read_unlock(); > 321 return idev; > 322
And this is a completely different refcount from the other that tripped. This one is quite simple, too, though I see it uses refcount_dec(), which is a path to saturation. I've sent a patch to try to clarify this further... -Kees -- Kees Cook Pixel Security