CHROMIUM: fix a ChromiumOS-specific memory leak in fs/namei.c

CL:334279 added a pair of functions in fs/namei.c:
nameidata_set_temporary() and nameidata_restore_temporary().
The first of these two functions allocates a new "struct nameidata" and
also a "struct filename" which gets assigned in nameidata->name.
nameidata_restore_temporary() frees nameidata, but forgets to free
the "->name" reference, which leads to the leak of that "struct
filename".

This change makes nameidata_restore_temporary() dereference
nameidata->name before freeing the temporary nameidata.

BUG=b:30589775, chromium:635708
TEST=no kmalloc-4096 leaks when running docker

Reviewed-on: https://chromium-review.googlesource.com/366039
Commit-Ready: Andrey Ulanov <andreyu@google.com>
Tested-by: Andrey Ulanov <andreyu@google.com>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Change-Id: I84522432d79e57d48696d8b62c582162e1643918
Reviewed-on: https://chromium-review.googlesource.com/374458
Commit-Queue: Andrey Ulanov <andreyu@google.com>
1 file changed