summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2019-12-12 11:30:03 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-02-05 13:03:39 +0000
commit37f739275ff4160df79029087fe1e0452f56899d (patch)
treec84abd8bc73eb9a8c02cb43f78d1b8bf785d0dfe
parent364474e723933e18639e602a5dec84483b09ab2c (diff)
downloadlinux-37f739275ff4160df79029087fe1e0452f56899d.tar.gz
linux-37f739275ff4160df79029087fe1e0452f56899d.tar.bz2
linux-37f739275ff4160df79029087fe1e0452f56899d.zip
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") CC: stable@vger.kernel.org Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/reiserfs/super.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
index ee095246da4e..519bf410e65b 100644
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
@@ -599,6 +599,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;
}
@@ -2208,6 +2209,7 @@ error_unlocked:
kfree(qf_names[j]);
}
#endif
+ kfree(sbi->s_jdev);
kfree(sbi);
s->s_fs_info = NULL;