diff options
| author | Jan Kara <jack@suse.cz> | 2019-12-12 11:30:03 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-05 13:03:39 +0000 |
| commit | 37f739275ff4160df79029087fe1e0452f56899d (patch) | |
| tree | c84abd8bc73eb9a8c02cb43f78d1b8bf785d0dfe | |
| parent | 364474e723933e18639e602a5dec84483b09ab2c (diff) | |
| download | linux-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.c | 2 |
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; |
