summaryrefslogtreecommitdiffstats
path: root/fs/overlayfs/util.c
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2018-09-18 09:34:31 -0400
committerMiklos Szeredi <mszeredi@redhat.com>2018-09-24 04:54:01 -0400
commit63e132528032ce937126aba591a7b37ec593a6bb (patch)
tree7db47c9ed4e644852400acc6fa8307d80028dbf6 /fs/overlayfs/util.c
parent6bf4ca7fbc85d80446ac01c0d1d77db4d91a6d84 (diff)
ovl: fix memory leak on unlink of indexed file
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>
Diffstat (limited to 'fs/overlayfs/util.c')
-rw-r--r--fs/overlayfs/util.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c
index 8cfb62cc8672..ace4fe4c39a9 100644
--- a/fs/overlayfs/util.c
+++ b/fs/overlayfs/util.c
@@ -683,7 +683,7 @@ static void ovl_cleanup_index(struct dentry *dentry)
683 struct dentry *upperdentry = ovl_dentry_upper(dentry); 683 struct dentry *upperdentry = ovl_dentry_upper(dentry);
684 struct dentry *index = NULL; 684 struct dentry *index = NULL;
685 struct inode *inode; 685 struct inode *inode;
686 struct qstr name; 686 struct qstr name = { };
687 int err; 687 int err;
688 688
689 err = ovl_get_index_name(lowerdentry, &name); 689 err = ovl_get_index_name(lowerdentry, &name);
@@ -726,6 +726,7 @@ static void ovl_cleanup_index(struct dentry *dentry)
726 goto fail; 726 goto fail;
727 727
728out: 728out:
729 kfree(name.name);
729 dput(index); 730 dput(index);
730 return; 731 return;
731 732