Re: [PATCH V2 1/6] null_blk: use DEFINE_MUTEX for the file-scope mutex

From: Damien Le Moal

Date: Tue Jul 07 2026 - 00:07:29 EST


On 7/7/26 11:55, Zizhi Wo wrote:
> From: Zizhi Wo <wozizhi@xxxxxxxxxx>
>
> In null_init(), mutex_init(&lock) currently happens after
> configfs_register_subsystem(), which exposes the nullb subsystem to
> userspace. A racing mkdir() into /sys/kernel/config/nullb/ can reach
> null_find_dev_by_name() -> mutex_lock(&lock) before the mutex is
> initialized, trigger warning:
>
> [ 123.137788] DEBUG_LOCKS_WARN_ON(lock->magic != lock)
> [ 123.137796] WARNING: kernel/locking/mutex.c:159 at mutex_lock+0x171/0x1c0, CPU#13: mkdir/1301
> [ 123.140090] Modules linked in: null_blk(+) nft_fib_inet nft_fib_ipv4
> ......
> [ 123.154926] Call Trace:
> [ 123.155172] <TASK>
> [ 123.155419] ? __pfx_mutex_lock+0x10/0x10
> [ 123.156181] ? __pfx__raw_spin_lock+0x10/0x10
> [ 123.156571] nullb_group_make_group+0x20/0x100 [null_blk]
> [ 123.157011] configfs_mkdir+0x47b/0xc70
> [ 123.157337] ? __pfx_configfs_mkdir+0x10/0x10
> [ 123.157719] ? may_create_dentry+0x242/0x2e0
> [ 123.158061] vfs_mkdir+0x2a9/0x6c0
> [ 123.158352] filename_mkdirat+0x3dc/0x500
> [ 123.158710] ? __pfx_filename_mkdirat+0x10/0x10
> [ 123.159070] ? strncpy_from_user+0x3a/0x1d0
> [ 123.159413] __x64_sys_mkdir+0x6b/0x90
> [ 123.159760] do_syscall_64+0xea/0x600
>
> Replace the runtime mutex_init(&lock) with a static DEFINE_MUTEX(lock)
> declaration to fix this issue.
>
> Fixes: 49c3b9266a71 ("block: null_blk: Improve device creation with configfs")
> Suggested-by: Bart Van Assche <bvanassche@xxxxxxx>
> Signed-off-by: Zizhi Wo <wozizhi@xxxxxxxxxx>
> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>

Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx>

--
Damien Le Moal
Western Digital Research