Skip to content

null_blk: initialize lock mutex before registering configfs subsystem#1031

Open
blktests-ci[bot] wants to merge 1 commit into
linus-master_basefrom
series/1121484=>linus-master
Open

null_blk: initialize lock mutex before registering configfs subsystem#1031
blktests-ci[bot] wants to merge 1 commit into
linus-master_basefrom
series/1121484=>linus-master

Conversation

@blktests-ci

@blktests-ci blktests-ci Bot commented Jul 4, 2026

Copy link
Copy Markdown

Pull request for series with
subject: null_blk: initialize lock mutex before registering configfs subsystem
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1121484

@blktests-ci

blktests-ci Bot commented Jul 4, 2026

Copy link
Copy Markdown
Author

Upstream branch: 87320be
series: https://patchwork.kernel.org/project/linux-block/list/?series=1121484
version: 1

@blktests-ci

blktests-ci Bot commented Jul 6, 2026

Copy link
Copy Markdown
Author

Upstream branch: 8cdeaa5
series: https://patchwork.kernel.org/project/linux-block/list/?series=1121484
version: 1

@blktests-ci
blktests-ci Bot force-pushed the series/1121484=>linus-master branch from bc0dd20 to 6986b1c Compare July 6, 2026 09:02
@blktests-ci
blktests-ci Bot force-pushed the linus-master_base branch from a644c13 to a2204c3 Compare July 7, 2026 08:33
@blktests-ci

blktests-ci Bot commented Jul 7, 2026

Copy link
Copy Markdown
Author

Upstream branch: 0e35b9b
series: https://patchwork.kernel.org/project/linux-block/list/?series=1121484
version: 1

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

Move mutex_init(&lock) before configfs_register_subsystem().

Fixes: 49c3b92 ("block: null_blk: Improve device creation with configfs")
Signed-off-by: Zizhi Wo <wozizhi@huawei.com>
@blktests-ci
blktests-ci Bot force-pushed the series/1121484=>linus-master branch from 6986b1c to a9ba345 Compare July 7, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants