Skip to content

Commit ca78c31

Browse files
Ye Bintytso
authored andcommitted
ext4: fix possible null-ptr-deref in extents_kunit_exit()
There's issue as follows: KASAN: null-ptr-deref in range [0x00000000000002c0-0x00000000000002c7] Tainted: [E]=UNSIGNED_MODULE, [N]=TEST RIP: 0010:extents_kunit_exit+0x2e/0xc0 [ext4_test] Call Trace: <TASK> kunit_try_run_case_cleanup+0xbc/0x100 [kunit] kunit_generic_run_threadfn_adapter+0x89/0x100 [kunit] kthread+0x408/0x540 ret_from_fork+0xa76/0xdf0 ret_from_fork_asm+0x1a/0x30 Above issue happens as extents_kunit_init() init testcase failed. So test if testcase is inited success. Fixes: cb1e0c1 ("ext4: kunit tests for extent splitting and conversion") Signed-off-by: Ye Bin <yebin10@huawei.com> Reviewed-by: Ojaswin Mujoo <ojaswin@linux.ibm.com> Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> Link: https://patch.msgid.link/20260330133035.287842-5-yebin@huaweicloud.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
1 parent 17f73c9 commit ca78c31

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

fs/ext4/extents-test.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,12 @@ static struct file_system_type ext_fs_type = {
142142

143143
static void extents_kunit_exit(struct kunit *test)
144144
{
145-
struct super_block *sb = k_ctx.k_ei->vfs_inode.i_sb;
146-
struct ext4_sb_info *sbi = sb->s_fs_info;
145+
struct ext4_sb_info *sbi;
147146

147+
if (!k_ctx.k_ei)
148+
return;
149+
150+
sbi = k_ctx.k_ei->vfs_inode.i_sb->s_fs_info;
148151
ext4_es_unregister_shrinker(sbi);
149152
deactivate_super(sbi->s_sb);
150153
kfree(sbi);

0 commit comments

Comments
 (0)