From: Jan Kara Date: Thu, 12 Dec 2019 10:30:03 +0000 (+0100) Subject: reiserfs: Fix memory leak of journal device string X-Git-Tag: v3.16.84~80 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=363f8afc312609a42015c8b8161a458e1749cd4c;p=thirdparty%2Fkernel%2Fstable.git reiserfs: Fix memory leak of journal device string commit 5474ca7da6f34fa95e82edc747d5faa19cbdfb5c upstream. When a filesystem is mounted with jdev mount option, we store the journal device name in an allocated string in superblock. However we fail to ever free that string. Fix it. Reported-by: syzbot+1c6756baf4b16b94d2a6@syzkaller.appspotmail.com Fixes: c3aa077648e1 ("reiserfs: Properly display mount options in /proc/mounts") Signed-off-by: Jan Kara Signed-off-by: Ben Hutchings --- diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 7daf9e503f805..b2d6e9fc72aa8 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -589,6 +589,7 @@ static void reiserfs_put_super(struct super_block *s) reiserfs_write_unlock(s); mutex_destroy(&REISERFS_SB(s)->lock); destroy_workqueue(REISERFS_SB(s)->commit_wq); + kfree(REISERFS_SB(s)->s_jdev); kfree(s->s_fs_info); s->s_fs_info = NULL; } @@ -2188,6 +2189,7 @@ error_unlocked: kfree(qf_names[j]); } #endif + kfree(sbi->s_jdev); kfree(sbi); s->s_fs_info = NULL;