program: mmap$IORING_OFF_SQ_RING(0x0, 0xc00000, 0x2000007, 0x401d031, 0xffffffffffffffff, 0x0) mknodat$md(0xffffffffffffff9c, &(0x7f0000001ac0)='./md0\x00', 0x6180, 0x0) r0 = openat$md_node(0xffffffffffffff9c, &(0x7f0000001b00)='./md0\x00', 0x2, 0x0) ioctl$ADD_NEW_DISK(r0, 0x40140921, 0x0) [ 94.191470][ T4664] Bluetooth: hci0: command tx timeout [ 94.328483][ T5341] md: async del_gendisk mode will be removed in future, please upgrade to mdadm-4.5+ [ 94.328619][ T5341] block device autoloading is deprecated and will be removed. [ 94.348658][ T5341] [ 94.349789][ T5341] ====================================================== [ 94.352805][ T5341] WARNING: possible circular locking dependency detected [ 94.358909][ T5341] syzkaller #0 Not tainted [ 94.360959][ T5341] ------------------------------------------------------ [ 94.364033][ T5341] syz.0.0/5341 is trying to acquire lock: [ 94.366799][ T5341] ffffffff9096e2e0 (major_names_lock){+.+.}-{4:4}, at: blk_request_module+0x35/0x2a0 [ 94.371134][ T5341] [ 94.371134][ T5341] but task is already holding lock: [ 94.374487][ T5341] ffff8880138de358 (&mddev->reconfig_mutex){+.+.}-{4:4}, at: mddev_suspend_and_lock+0x48/0xf0 [ 94.379060][ T5341] [ 94.379060][ T5341] which lock already depends on the new lock. [ 94.379060][ T5341] [ 94.383544][ T5341] [ 94.383544][ T5341] the existing dependency chain (in reverse order) is: [ 94.387552][ T5341] [ 94.387552][ T5341] -> #2 (&mddev->reconfig_mutex){+.+.}-{4:4}: [ 94.391292][ T5341] __mutex_lock+0x197/0x15a0 [ 94.393644][ T5341] md_alloc+0x81e/0xf40 [ 94.395947][ T5341] md_alloc_and_put+0x1a/0x1f0 [ 94.398351][ T5341] blk_request_module+0x27d/0x2a0 [ 94.400768][ T5341] blkdev_get_no_open+0x3f/0xe0 [ 94.403168][ T5341] blkdev_open+0x1d7/0x600 [ 94.405444][ T5341] do_dentry_open+0x80e/0x1360 [ 94.407742][ T5341] vfs_open_consume+0x4a/0x350 [ 94.410034][ T5341] path_openat+0x16fc/0x20f0 [ 94.412344][ T5341] do_file_open+0x23e/0x4a0 [ 94.414686][ T5341] do_sys_openat2+0x115/0x200 [ 94.416971][ T5341] __x64_sys_openat+0x138/0x170 [ 94.419418][ T5341] do_syscall_64+0x16a/0x530 [ 94.421745][ T5341] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 94.424558][ T5341] [ 94.424558][ T5341] -> #1 (disks_mutex){+.+.}-{4:4}: [ 94.427811][ T5341] __mutex_lock+0x197/0x15a0 [ 94.430117][ T5341] md_alloc+0x40/0xf40 [ 94.432138][ T5341] md_alloc_and_put+0x1a/0x1f0 [ 94.435250][ T5341] blk_request_module+0x27d/0x2a0 [ 94.437733][ T5341] blkdev_get_no_open+0x3f/0xe0 [ 94.440001][ T5341] blkdev_open+0x1d7/0x600 [ 94.442131][ T5341] do_dentry_open+0x80e/0x1360 [ 94.444513][ T5341] vfs_open_consume+0x4a/0x350 [ 94.446773][ T5341] path_openat+0x16fc/0x20f0 [ 94.448970][ T5341] do_file_open+0x23e/0x4a0 [ 94.451144][ T5341] do_sys_openat2+0x115/0x200 [ 94.453334][ T5341] __x64_sys_openat+0x138/0x170 [ 94.455633][ T5341] do_syscall_64+0x16a/0x530 [ 94.457977][ T5341] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 94.460703][ T5341] [ 94.460703][ T5341] -> #0 (major_names_lock){+.+.}-{4:4}: [ 94.463905][ T5341] __lock_acquire+0x164c/0x2de0 [ 94.466249][ T5341] lock_acquire+0x115/0x350 [ 94.468348][ T5341] __mutex_lock+0x197/0x15a0 [ 94.470490][ T5341] blk_request_module+0x35/0x2a0 [ 94.472773][ T5341] blkdev_get_no_open+0x3f/0xe0 [ 94.474949][ T5341] bdev_file_open_by_dev+0xa0/0x240 [ 94.477198][ T5341] md_import_device+0x2e9/0x650 [ 94.479351][ T5341] md_add_new_disk+0x3a3/0x1850 [ 94.481499][ T5341] md_ioctl+0x2027/0x2630 [ 94.483448][ T5341] blkdev_ioctl+0x5e3/0x740 [ 94.485568][ T5341] __se_sys_ioctl+0xfc/0x170 [ 94.487747][ T5341] do_syscall_64+0x16a/0x530 [ 94.489988][ T5341] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 94.492629][ T5341] [ 94.492629][ T5341] other info that might help us debug this: [ 94.492629][ T5341] [ 94.496885][ T5341] Chain exists of: [ 94.496885][ T5341] major_names_lock --> disks_mutex --> &mddev->reconfig_mutex [ 94.496885][ T5341] [ 94.502495][ T5341] Possible unsafe locking scenario: [ 94.502495][ T5341] [ 94.506516][ T5341] CPU0 CPU1 [ 94.508956][ T5341] ---- ---- [ 94.511241][ T5341] lock(&mddev->reconfig_mutex); [ 94.513441][ T5341] lock(disks_mutex); [ 94.516375][ T5341] lock(&mddev->reconfig_mutex); [ 94.519494][ T5341] lock(major_names_lock); [ 94.521463][ T5341] [ 94.521463][ T5341] *** DEADLOCK *** [ 94.521463][ T5341] [ 94.525001][ T5341] locks held by syz.0.0/5341: 1, on CPU#0: [ 94.527602][ T5341] #0: ffff8880138de358 (&mddev->reconfig_mutex){+.+.}-{4:4}, at: mddev_suspend_and_lock+0x48/0xf0 [ 94.532086][ T5341] [ 94.532086][ T5341] stack backtrace: [ 94.534515][ T5341] CPU: 0 UID: 0 PID: 5341 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 94.538287][ T5341] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 94.542507][ T5341] Call Trace: [ 94.544125][ T5341] [ 94.545456][ T5341] dump_stack_lvl+0xe8/0x150 [ 94.547451][ T5341] print_circular_bug+0x2e2/0x300 [ 94.549629][ T5341] check_noncircular+0x12f/0x150 [ 94.551720][ T5341] __lock_acquire+0x164c/0x2de0 [ 94.553854][ T5341] ? post_alloc_hook+0x208/0x250 [ 94.556057][ T5341] ? get_page_from_freelist+0x225d/0x22e0 [ 94.558587][ T5341] lock_acquire+0x115/0x350 [ 94.560490][ T5341] ? blk_request_module+0x35/0x2a0 [ 94.563779][ T5341] __mutex_lock+0x197/0x15a0 [ 94.565937][ T5341] ? blk_request_module+0x35/0x2a0 [ 94.568243][ T5341] ? lock_acquire+0x115/0x350 [ 94.570391][ T5341] ? blk_request_module+0x35/0x2a0 [ 94.572626][ T5341] ? __pfx___mutex_lock+0x10/0x10 [ 94.574747][ T5341] ? find_inode_fast+0x5dc/0x740 [ 94.576854][ T5341] ? find_inode_fast+0xd2/0x740 [ 94.578922][ T5341] blk_request_module+0x35/0x2a0 [ 94.581110][ T5341] blkdev_get_no_open+0x3f/0xe0 [ 94.583262][ T5341] bdev_file_open_by_dev+0xa0/0x240 [ 94.585594][ T5341] md_import_device+0x2e9/0x650 [ 94.587842][ T5341] md_add_new_disk+0x3a3/0x1850 [ 94.589982][ T5341] ? rep_movs_alternative+0x30/0xa0 [ 94.592269][ T5341] md_ioctl+0x2027/0x2630 [ 94.594706][ T5341] ? tomoyo_path_number_perm+0x219/0x5f0 [ 94.597589][ T5341] ? __pfx_md_ioctl+0x10/0x10 [ 94.599920][ T5341] ? do_vfs_ioctl+0x11a7/0x1570 [ 94.602102][ T5341] ? __pfx_do_vfs_ioctl+0x10/0x10 [ 94.604306][ T5341] ? do_futex+0x458/0x4e0 [ 94.606251][ T5341] ? __pfx_md_ioctl+0x10/0x10 [ 94.608218][ T5341] blkdev_ioctl+0x5e3/0x740 [ 94.610152][ T5341] ? __pfx_blkdev_ioctl+0x10/0x10 [ 94.612339][ T5341] ? bpf_lsm_file_ioctl+0x9/0x20 [ 94.614502][ T5341] ? __pfx_blkdev_ioctl+0x10/0x10 [ 94.616747][ T5341] __se_sys_ioctl+0xfc/0x170 [ 94.618690][ T5341] do_syscall_64+0x16a/0x530 [ 94.620418][ T5341] ? trace_irq_disable+0x3b/0x140 [ 94.622417][ T5341] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 94.625106][ T5341] ? clear_bhb_loop+0x70/0xc0 [ 94.627151][ T5341] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 94.629760][ T5341] RIP: 0033:0x7f3d655a8f19 [ 94.632154][ T5341] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 [ 94.640586][ T5341] RSP: 002b:00007f3d6648dfe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 94.644070][ T5341] RAX: ffffffffffffffda RBX: 00007f3d65825fa0 RCX: 00007f3d655a8f19 [ 94.647544][ T5341] RDX: 0000000000000000 RSI: 0000000040140921 RDI: 0000000000000003 [ 94.651027][ T5341] RBP: 00007f3d65637f6d R08: 0000000000000000 R09: 0000000000000000 [ 94.654501][ T5341] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 94.658910][ T5341] R13: 00007f3d65826038 R14: 00007f3d65825fa0 R15: 00007ffd75774bf8 [ 94.663136][ T5341] [ 94.742065][ T5341] md: could not open device unknown-block(0,0). [ 94.742156][ T5341] md: md_import_device returned -6