Re: WARNING in kmem_cache_free

From: Al Viro
Date: Sun Apr 08 2018 - 02:00:22 EST


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.