Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ext4: fix possible null-ptr-deref in mbt_kunit_exit()

There's issue as follows:
# test_new_blocks_simple: failed to initialize: -12
KASAN: null-ptr-deref in range [0x0000000000000638-0x000000000000063f]
Tainted: [E]=UNSIGNED_MODULE, [N]=TEST
RIP: 0010:mbt_kunit_exit+0x5e/0x3e0 [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

If mbt_kunit_init() init testcase failed will lead to null-ptr-deref.
So add test if 'sb' is inited success in mbt_kunit_exit().

Fixes: 7c9fa399a369 ("ext4: add first unit test for ext4_mb_new_blocks_simple in mballoc")
Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Reviewed-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Link: https://patch.msgid.link/20260330133035.287842-6-yebin@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>

authored by

Ye Bin and committed by
Theodore Ts'o
22f53f08 ca78c31a

+5 -1
+5 -1
fs/ext4/mballoc-test.c
··· 362 362 return ret; 363 363 } 364 364 365 - test->priv = sb; 366 365 kunit_activate_static_stub(test, 367 366 ext4_read_block_bitmap_nowait, 368 367 ext4_read_block_bitmap_nowait_stub); ··· 382 383 return -ENOMEM; 383 384 } 384 385 386 + test->priv = sb; 387 + 385 388 return 0; 386 389 } 387 390 388 391 static void mbt_kunit_exit(struct kunit *test) 389 392 { 390 393 struct super_block *sb = (struct super_block *)test->priv; 394 + 395 + if (!sb) 396 + return; 391 397 392 398 mbt_mb_release(sb); 393 399 mbt_ctx_release(sb);