summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Price <anprice@redhat.com>2019-10-04 12:51:58 -0400
committerAndreas Gruenbacher <agruenba@redhat.com>2019-10-24 10:20:43 -0400
commit30aecae86e914f526a2ca8d552011960ef6a2615 (patch)
tree9abde9d5faa01e4f667f60e01e1796c937f33404
parent7d194c2100ad2a6dded545887d02754948ca5241 (diff)
gfs2: Fix memory leak when gfs2meta's fs_context is freed
gfs2 and gfs2meta share an ->init_fs_context function which allocates an args structure stored in fc->fs_private. gfs2 registers a ->free function to free this memory when the fs_context is cleaned up, but there was not one registered for gfs2meta, causing a leak. Register a ->free function for gfs2meta. The existing gfs2_fc_free function does what we need. Reported-by: syzbot+c2fdfd2b783754878fb6@syzkaller.appspotmail.com Fixes: 1f52aa08d12f ("gfs2: Convert gfs2 to fs_context") Signed-off-by: Andrew Price <anprice@redhat.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
-rw-r--r--fs/gfs2/ops_fstype.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 681b44682b0d..dc61af2c4d5e 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -1600,6 +1600,7 @@ static int gfs2_meta_get_tree(struct fs_context *fc)
1600} 1600}
1601 1601
1602static const struct fs_context_operations gfs2_meta_context_ops = { 1602static const struct fs_context_operations gfs2_meta_context_ops = {
1603 .free = gfs2_fc_free,
1603 .get_tree = gfs2_meta_get_tree, 1604 .get_tree = gfs2_meta_get_tree,
1604}; 1605};
1605 1606