On Fri, Apr 06, 2018 at 03:33:36PM +0200, Dmitry Vyukov wrote: > Interesting type of bug, I think we see this for the first time. > > Al, do you see how this can happen? putname() on something that hasn't come from getname(). Short of reproducer, I don't see what can be done - it can be any kind of memory corruption. We have return filename_lookup(dfd, getname_flags(name, flags, empty), flags, path, NULL); with filename_lookup() hitting putname(name); return retval; on the way out (and seeing refcount 1, at that, so it hasn't ended up in audit context). And object it's trying to free is not something getname_flags() has allocated.