ovl: fix memory leak on unlink of indexed file
authorAmir Goldstein <amir73il@gmail.com>
Tue, 18 Sep 2018 13:34:31 +0000 (16:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Oct 2018 06:54:27 +0000 (08:54 +0200)
commit 63e132528032ce937126aba591a7b37ec593a6bb upstream.

The memory leak was detected by kmemleak when running xfstests
overlay/051,053

Fixes: caf70cb2ba5d ("ovl: cleanup orphan index entries")
Cc: <stable@vger.kernel.org> # v4.13
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/overlayfs/util.c

index f60ce2e04df0ecdb82f6e5b22d8350e3c1b97991..afdc2533ce74d1186d812a95affe874d1e887950 100644 (file)
@@ -438,7 +438,7 @@ static void ovl_cleanup_index(struct dentry *dentry)
        struct dentry *upperdentry = ovl_dentry_upper(dentry);
        struct dentry *index = NULL;
        struct inode *inode;
-       struct qstr name;
+       struct qstr name = { };
        int err;
 
        err = ovl_get_index_name(lowerdentry, &name);
@@ -477,6 +477,7 @@ static void ovl_cleanup_index(struct dentry *dentry)
                goto fail;
 
 out:
+       kfree(name.name);
        dput(index);
        return;