program: mmap$IORING_OFF_SQ_RING(0x0, 0xc00000, 0x2000007, 0x401d031, 0xffffffffffffffff, 0x0) mknodat$md(0xffffffffffffff9c, &(0x7f0000000040)='./md0\x00', 0x6180, 0x0) r0 = openat$md_node(0xffffffffffffff9c, &(0x7f0000000080)='./md0\x00', 0x2, 0x0) set_mempolicy(0x6005, &(0x7f0000000580)=0xfffffffffffffffd, 0x6) ioctl$ADD_NEW_DISK(r0, 0x40140921, 0x0) [ 75.348347][ T5346] md: async del_gendisk mode will be removed in future, please upgrade to mdadm-4.5+ [ 75.348487][ T5346] block device autoloading is deprecated and will be removed. [ 75.396954][ T5346] [ 75.398040][ T5346] ====================================================== [ 75.400751][ T5346] WARNING: possible circular locking dependency detected [ 75.403502][ T5346] syzkaller #0 Not tainted [ 75.405270][ T5346] ------------------------------------------------------ [ 75.408134][ T5346] syz.0.0/5346 is trying to acquire lock: [ 75.410701][ T5346] ffffffff9096ebe0 (major_names_lock){+.+.}-{4:4}, at: blk_request_module+0x35/0x2a0 [ 75.414824][ T5346] [ 75.414824][ T5346] but task is already holding lock: [ 75.417922][ T5346] ffff888013cb4358 (&mddev->reconfig_mutex){+.+.}-{4:4}, at: mddev_suspend_and_lock+0x48/0xf0 [ 75.422311][ T5346] [ 75.422311][ T5346] which lock already depends on the new lock. [ 75.422311][ T5346] [ 75.426627][ T5346] [ 75.426627][ T5346] the existing dependency chain (in reverse order) is: [ 75.430467][ T5346] [ 75.430467][ T5346] -> #2 (&mddev->reconfig_mutex){+.+.}-{4:4}: [ 75.434069][ T5346] __mutex_lock+0x197/0x15a0 [ 75.437825][ T5346] md_alloc+0x81e/0xf40 [ 75.439871][ T5346] md_alloc_and_put+0x1a/0x1f0 [ 75.442193][ T5346] blk_request_module+0x27d/0x2a0 [ 75.444548][ T5346] blkdev_get_no_open+0x3f/0xe0 [ 75.446838][ T5346] blkdev_open+0x1d7/0x600 [ 75.448899][ T5346] do_dentry_open+0x80e/0x1360 [ 75.450981][ T5346] vfs_open_consume+0x4a/0x350 [ 75.453063][ T5346] path_openat+0x16fc/0x20f0 [ 75.455159][ T5346] do_file_open+0x23e/0x4a0 [ 75.457331][ T5346] do_sys_openat2+0x115/0x200 [ 75.459594][ T5346] __x64_sys_openat+0x138/0x170 [ 75.462129][ T5346] do_syscall_64+0x16a/0x530 [ 75.464673][ T5346] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.467671][ T5346] [ 75.467671][ T5346] -> #1 (disks_mutex){+.+.}-{4:4}: [ 75.470826][ T5346] __mutex_lock+0x197/0x15a0 [ 75.472958][ T5346] md_alloc+0x40/0xf40 [ 75.475017][ T5346] md_alloc_and_put+0x1a/0x1f0 [ 75.477258][ T5346] blk_request_module+0x27d/0x2a0 [ 75.479617][ T5346] blkdev_get_no_open+0x3f/0xe0 [ 75.481836][ T5346] blkdev_open+0x1d7/0x600 [ 75.483964][ T5346] do_dentry_open+0x80e/0x1360 [ 75.486228][ T5346] vfs_open_consume+0x4a/0x350 [ 75.488523][ T5346] path_openat+0x16fc/0x20f0 [ 75.490653][ T5346] do_file_open+0x23e/0x4a0 [ 75.492797][ T5346] do_sys_openat2+0x115/0x200 [ 75.494963][ T5346] __x64_sys_openat+0x138/0x170 [ 75.497246][ T5346] do_syscall_64+0x16a/0x530 [ 75.499373][ T5346] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.502161][ T5346] [ 75.502161][ T5346] -> #0 (major_names_lock){+.+.}-{4:4}: [ 75.505422][ T5346] __lock_acquire+0x164c/0x2de0 [ 75.507739][ T5346] lock_acquire+0x115/0x350 [ 75.509998][ T5346] __mutex_lock+0x197/0x15a0 [ 75.512140][ T5346] blk_request_module+0x35/0x2a0 [ 75.514486][ T5346] blkdev_get_no_open+0x3f/0xe0 [ 75.516798][ T5346] bdev_file_open_by_dev+0xa0/0x240 [ 75.519244][ T5346] md_import_device+0x2e9/0x650 [ 75.521937][ T5346] md_add_new_disk+0x3a3/0x1850 [ 75.524161][ T5346] md_ioctl+0x2027/0x2630 [ 75.526290][ T5346] blkdev_ioctl+0x5e3/0x740 [ 75.528494][ T5346] __se_sys_ioctl+0xfc/0x170 [ 75.530561][ T5346] do_syscall_64+0x16a/0x530 [ 75.532631][ T5346] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.535229][ T5346] [ 75.535229][ T5346] other info that might help us debug this: [ 75.535229][ T5346] [ 75.539243][ T5346] Chain exists of: [ 75.539243][ T5346] major_names_lock --> disks_mutex --> &mddev->reconfig_mutex [ 75.539243][ T5346] [ 75.544621][ T5346] Possible unsafe locking scenario: [ 75.544621][ T5346] [ 75.547779][ T5346] CPU0 CPU1 [ 75.550038][ T5346] ---- ---- [ 75.552271][ T5346] lock(&mddev->reconfig_mutex); [ 75.554454][ T5346] lock(disks_mutex); [ 75.557341][ T5346] lock(&mddev->reconfig_mutex); [ 75.560404][ T5346] lock(major_names_lock); [ 75.562247][ T5346] [ 75.562247][ T5346] *** DEADLOCK *** [ 75.562247][ T5346] [ 75.565688][ T5346] locks held by syz.0.0/5346: 1, on CPU#0: [ 75.568223][ T5346] #0: ffff888013cb4358 (&mddev->reconfig_mutex){+.+.}-{4:4}, at: mddev_suspend_and_lock+0x48/0xf0 [ 75.572681][ T5346] [ 75.572681][ T5346] stack backtrace: [ 75.575138][ T5346] CPU: 0 UID: 0 PID: 5346 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 75.579005][ T5346] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 75.583321][ T5346] Call Trace: [ 75.584834][ T5346] [ 75.586243][ T5346] dump_stack_lvl+0xe8/0x150 [ 75.588294][ T5346] print_circular_bug+0x2e2/0x300 [ 75.590532][ T5346] check_noncircular+0x12f/0x150 [ 75.592578][ T5346] __lock_acquire+0x164c/0x2de0 [ 75.594545][ T5346] ? post_alloc_hook+0x208/0x250 [ 75.596993][ T5346] ? get_page_from_freelist+0x2224/0x2290 [ 75.599738][ T5346] lock_acquire+0x115/0x350 [ 75.601579][ T5346] ? blk_request_module+0x35/0x2a0 [ 75.603674][ T5346] __mutex_lock+0x197/0x15a0 [ 75.605579][ T5346] ? blk_request_module+0x35/0x2a0 [ 75.607861][ T5346] ? lock_acquire+0x115/0x350 [ 75.609949][ T5346] ? blk_request_module+0x35/0x2a0 [ 75.612207][ T5346] ? __pfx___mutex_lock+0x10/0x10 [ 75.614454][ T5346] ? find_inode_fast+0x5dc/0x740 [ 75.616655][ T5346] ? find_inode_fast+0xd2/0x740 [ 75.618787][ T5346] blk_request_module+0x35/0x2a0 [ 75.621021][ T5346] blkdev_get_no_open+0x3f/0xe0 [ 75.623173][ T5346] bdev_file_open_by_dev+0xa0/0x240 [ 75.625555][ T5346] md_import_device+0x2e9/0x650 [ 75.627819][ T5346] md_add_new_disk+0x3a3/0x1850 [ 75.630063][ T5346] ? rep_movs_alternative+0x30/0xa0 [ 75.632373][ T5346] md_ioctl+0x2027/0x2630 [ 75.634347][ T5346] ? tomoyo_path_number_perm+0x219/0x5f0 [ 75.636931][ T5346] ? __pfx_md_ioctl+0x10/0x10 [ 75.639101][ T5346] ? do_vfs_ioctl+0x116f/0x1530 [ 75.641254][ T5346] ? __pfx_do_vfs_ioctl+0x10/0x10 [ 75.643606][ T5346] ? do_futex+0x3e7/0x4e0 [ 75.645610][ T5346] ? __pfx_md_ioctl+0x10/0x10 [ 75.647764][ T5346] blkdev_ioctl+0x5e3/0x740 [ 75.649896][ T5346] ? __pfx_blkdev_ioctl+0x10/0x10 [ 75.652171][ T5346] ? bpf_lsm_file_ioctl+0x9/0x20 [ 75.654417][ T5346] ? __pfx_blkdev_ioctl+0x10/0x10 [ 75.656664][ T5346] __se_sys_ioctl+0xfc/0x170 [ 75.658772][ T5346] do_syscall_64+0x16a/0x530 [ 75.660937][ T5346] ? trace_irq_disable+0x3b/0x140 [ 75.663263][ T5346] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.666186][ T5346] ? clear_bhb_loop+0x70/0xc0 [ 75.668266][ T5346] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.670928][ T5346] RIP: 0033:0x7f5827da8f19 [ 75.672857][ T5346] 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 [ 75.681248][ T5346] RSP: 002b:00007f5828d20fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 75.684787][ T5346] RAX: ffffffffffffffda RBX: 00007f5828025fa0 RCX: 00007f5827da8f19 [ 75.688291][ T5346] RDX: 0000000000000000 RSI: 0000000040140921 RDI: 0000000000000003 [ 75.691621][ T5346] RBP: 00007f5827e37f6d R08: 0000000000000000 R09: 0000000000000000 [ 75.695050][ T5346] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 75.698511][ T5346] R13: 00007f5828026038 R14: 00007f5828025fa0 R15: 00007ffcfa2afd08 [ 75.701981][ T5346] [ 75.756632][ T5346] md: could not open device unknown-block(0,0). [ 75.756670][ T5346] md: md_import_device returned -6 [ 75.808798][ T4669] Bluetooth: hci0: command tx timeout