diff options
author | Baokun Li <libaokun1@huawei.com> | 2023-01-07 06:21:26 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-03-22 15:37:56 +0300 |
commit | ee0c5277d4fab920bd31345c49e193ecede9ecef (patch) | |
tree | c9026d535dc8b4391f66b2b219765135569606ff /lib/test_static_key_base.c | |
parent | f3175c8384ccc9db6fa4ca5b1ef3e643d4f83f40 (diff) | |
download | linux-ee0c5277d4fab920bd31345c49e193ecede9ecef.tar.xz |
ext4: update s_journal_inum if it changes after journal replay
[ Upstream commit 3039d8b8692408438a618fac2776b629852663c3 ]
When mounting a crafted ext4 image, s_journal_inum may change after journal
replay, which is obviously unreasonable because we have successfully loaded
and replayed the journal through the old s_journal_inum. And the new
s_journal_inum bypasses some of the checks in ext4_get_journal(), which
may trigger a null pointer dereference problem. So if s_journal_inum
changes after the journal replay, we ignore the change, and rewrite the
current journal_inum to the superblock.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216541
Reported-by: Luís Henriques <lhenriques@suse.de>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230107032126.4165860-3-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'lib/test_static_key_base.c')
0 files changed, 0 insertions, 0 deletions