summaryrefslogtreecommitdiff
path: root/scripts/stackusage
diff options
context:
space:
mode:
authorLi Nan <linan122@huawei.com>2025-11-03 15:57:54 +0300
committerYu Kuai <yukuai@fnnas.com>2025-11-11 06:19:10 +0300
commit381a3ce1c0ffed647c9b913e142b099c7e9d5afc (patch)
tree6c26b1b7b64ed4bcb6b7a8e7c31a0ab9ee967539 /scripts/stackusage
parent0ce112d9171ad766d4c6716951e73f91a0bfc184 (diff)
downloadlinux-381a3ce1c0ffed647c9b913e142b099c7e9d5afc.tar.xz
md: init bioset in mddev_init
IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below: BUG: kernel NULL pointer dereference, address: 0000000000000020 Call Trace: md_update_sb+0x658/0xe00 new_level_store+0xc5/0x120 md_attr_store+0xc9/0x1e0 sysfs_kf_write+0x6f/0xa0 kernfs_fop_write_iter+0x141/0x2a0 vfs_write+0x1fc/0x5a0 ksys_write+0x79/0x180 __x64_sys_write+0x1d/0x30 x64_sys_call+0x2818/0x2880 do_syscall_64+0xa9/0x580 entry_SYSCALL_64_after_hwframe+0x4b/0x53 Reproducer ``` mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd] echo inactive > /sys/block/md0/md/array_state echo 10 > /sys/block/md0/md/new_level ``` mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore. Link: https://lore.kernel.org/linux-raid/20251103125757.1405796-3-linan666@huaweicloud.com Fixes: d981ed841930 ("md: Add new_level sysfs interface") Signed-off-by: Li Nan <linan122@huawei.com> Reviewed-by: Xiao Ni <xni@redhat.com> Signed-off-by: Yu Kuai <yukuai@fnnas.com>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions