program: io_uring_setup(0x70fa, &(0x7f0000000440)={0x0, 0x4ef1, 0x4000, 0x400001, 0x2e0}) mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./sys\x00', 0x1ff) mount(0x0, &(0x7f0000000040)='./sys\x00', &(0x7f0000000080)='sysfs\x00', 0x0, 0x0) mkdirat(0xffffffffffffff9c, &(0x7f00000000c0)='./dev\x00', 0x1ff) mount(0x0, &(0x7f0000000100)='./dev\x00', &(0x7f0000000140)='devtmpfs\x00', 0x0, 0x0) r0 = openat(0xffffffffffffff9c, &(0x7f0000000180)='./sys/module/md_mod/parameters/new_array\x00', 0x1, 0x0) write(r0, &(0x7f0000000200)='md0', 0x3) r1 = openat(0xffffffffffffff9c, &(0x7f0000000300)='./dev/md0\x00', 0x105042, 0x0) ioctl(r1, 0x40480923, &(0x7f0000000380)="000000000000000000000000000000000a000000000400000200000002000000000000000100000000000000000000000000000000000000000000000000000002010000000001") syz_open_dev$dri(&(0x7f0000000100), 0x1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') syz_kvm_setup_syzos_vm$x86(r2, &(0x7f0000c00000/0x400000)=nil) ioctl(r1, 0x40140921, &(0x7f0000000420)="0100000001000000010000000100000006") ioctl(r1, 0x400c0930, 0x0) ioctl(r1, 0x40140921, &(0x7f0000000440)="020000000100") [ 103.849903][ T4643] Bluetooth: hci0: command tx timeout [ 103.969136][ T5320] md: async del_gendisk mode will be removed in future, please upgrade to mdadm-4.5+ [ 103.976349][ T5321] md: async del_gendisk mode will be removed in future, please upgrade to mdadm-4.5+ [ 103.976438][ T5321] block device autoloading is deprecated and will be removed. [ 104.074367][ T5320] md/raid10:md0: not clean -- starting background reconstruction [ 104.074387][ T5320] md/raid10:md0: active with 1 out of 2 devices [ 104.075300][ T5320] md0: detected capacity change from 0 to 2048 [ 104.099062][ T5321] [ 104.100137][ T5321] ====================================================== [ 104.103019][ T5321] WARNING: possible circular locking dependency detected [ 104.106166][ T5321] syzkaller #0 Not tainted [ 104.108163][ T5321] ------------------------------------------------------ [ 104.111048][ T5321] syz.0.0/5321 is trying to acquire lock: [ 104.113463][ T5321] ffffffff8f556400 (major_names_lock){+.+.}-{4:4}, at: blk_request_module+0x35/0x2a0 [ 104.117596][ T5321] [ 104.117596][ T5321] but task is already holding lock: [ 104.120758][ T5321] ffff888040bb4358 (&mddev->reconfig_mutex){+.+.}-{4:4}, at: mddev_suspend_and_lock+0x48/0xf0 [ 104.125116][ T5321] [ 104.125116][ T5321] which lock already depends on the new lock. [ 104.125116][ T5321] [ 104.129751][ T5321] [ 104.129751][ T5321] the existing dependency chain (in reverse order) is: [ 104.133656][ T5321] [ 104.133656][ T5321] -> #3 (&mddev->reconfig_mutex){+.+.}-{4:4}: [ 104.137360][ T5321] __mutex_lock+0x19d/0x1550 [ 104.139650][ T5321] md_start_sync+0x179/0x1010 [ 104.141898][ T5321] process_scheduled_works+0xc3d/0x1630 [ 104.144626][ T5321] worker_thread+0xa47/0xfb0 [ 104.146836][ T5321] kthread+0x38b/0x480 [ 104.148822][ T5321] ret_from_fork+0x514/0xb70 [ 104.151125][ T5321] ret_from_fork_asm+0x1a/0x30 [ 104.153436][ T5321] [ 104.153436][ T5321] -> #2 ((work_completion)(&mddev->sync_work)){+.+.}-{0:0}: [ 104.157413][ T5321] process_scheduled_works+0xc03/0x1630 [ 104.160096][ T5321] worker_thread+0xa47/0xfb0 [ 104.162345][ T5321] kthread+0x38b/0x480 [ 104.164344][ T5321] ret_from_fork+0x514/0xb70 [ 104.166553][ T5321] ret_from_fork_asm+0x1a/0x30 [ 104.169009][ T5321] [ 104.169009][ T5321] -> #1 ((wq_completion)md_misc){+.+.}-{0:0}: [ 104.172556][ T5321] touch_wq_lockdep_map+0xcb/0x180 [ 104.174989][ T5321] __flush_workqueue+0x148/0x1470 [ 104.177432][ T5321] md_alloc+0x32/0xf20 [ 104.179465][ T5321] md_alloc_and_put+0x1a/0x1f0 [ 104.181761][ T5321] blk_request_module+0x27d/0x2a0 [ 104.184166][ T5321] blkdev_get_no_open+0x3f/0xe0 [ 104.186504][ T5321] blkdev_open+0x1d7/0x600 [ 104.188601][ T5321] do_dentry_open+0x816/0x1380 [ 104.190903][ T5321] vfs_open+0x3b/0x340 [ 104.192910][ T5321] path_openat+0x1443/0x1d60 [ 104.195010][ T5321] do_file_open+0x23e/0x4a0 [ 104.197191][ T5321] do_sys_openat2+0x115/0x200 [ 104.199429][ T5321] __x64_sys_openat+0x138/0x170 [ 104.201694][ T5321] do_syscall_64+0x166/0x520 [ 104.204006][ T5321] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 104.206833][ T5321] [ 104.206833][ T5321] -> #0 (major_names_lock){+.+.}-{4:4}: [ 104.210163][ T5321] __lock_acquire+0x164c/0x2de0 [ 104.212520][ T5321] lock_acquire+0x115/0x350 [ 104.214654][ T5321] __mutex_lock+0x19d/0x1550 [ 104.216866][ T5321] blk_request_module+0x35/0x2a0 [ 104.219249][ T5321] blkdev_get_no_open+0x3f/0xe0 [ 104.221579][ T5321] bdev_file_open_by_dev+0xa0/0x240 [ 104.224005][ T5321] md_import_device+0x2e9/0x650 [ 104.226474][ T5321] md_add_new_disk+0x669/0x1850 [ 104.229478][ T5321] md_ioctl+0x200a/0x2610 [ 104.232134][ T5321] blkdev_ioctl+0x5e3/0x740 [ 104.234772][ T5321] __se_sys_ioctl+0xfc/0x170 [ 104.236873][ T5321] do_syscall_64+0x166/0x520 [ 104.239089][ T5321] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 104.242425][ T5321] [ 104.242425][ T5321] other info that might help us debug this: [ 104.242425][ T5321] [ 104.247572][ T5321] Chain exists of: [ 104.247572][ T5321] major_names_lock --> (work_completion)(&mddev->sync_work) --> &mddev->reconfig_mutex [ 104.247572][ T5321] [ 104.255378][ T5321] Possible unsafe locking scenario: [ 104.255378][ T5321] [ 104.258667][ T5321] CPU0 CPU1 [ 104.261375][ T5321] ---- ---- [ 104.264166][ T5321] lock(&mddev->reconfig_mutex); [ 104.266954][ T5321] lock((work_completion)(&mddev->sync_work)); [ 104.271309][ T5321] lock(&mddev->reconfig_mutex); [ 104.274648][ T5321] lock(major_names_lock); [ 104.276648][ T5321] [ 104.276648][ T5321] *** DEADLOCK *** [ 104.276648][ T5321] [ 104.280518][ T5321] locks held by syz.0.0/5321: 1, last CPU#0: [ 104.283421][ T5321] #0: ffff888040bb4358 (&mddev->reconfig_mutex){+.+.}-{4:4}, at: mddev_suspend_and_lock+0x48/0xf0 [ 104.289004][ T5321] [ 104.289004][ T5321] stack backtrace: [ 104.292400][ T5321] CPU: 0 UID: 0 PID: 5321 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 104.296622][ T5321] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 104.301450][ T5321] Call Trace: [ 104.303262][ T5321] [ 104.304790][ T5321] dump_stack_lvl+0xe8/0x150 [ 104.307441][ T5321] print_circular_bug+0x2e2/0x300 [ 104.309864][ T5321] check_noncircular+0x12f/0x150 [ 104.312113][ T5321] __lock_acquire+0x164c/0x2de0 [ 104.314233][ T5321] ? post_alloc_hook+0x208/0x250 [ 104.316402][ T5321] ? get_page_from_freelist+0x2209/0x2280 [ 104.318948][ T5321] lock_acquire+0x115/0x350 [ 104.320970][ T5321] ? blk_request_module+0x35/0x2a0 [ 104.323626][ T5321] __mutex_lock+0x19d/0x1550 [ 104.326039][ T5321] ? blk_request_module+0x35/0x2a0 [ 104.328752][ T5321] ? lock_acquire+0x115/0x350 [ 104.331375][ T5321] ? blk_request_module+0x35/0x2a0 [ 104.334012][ T5321] ? __pfx___mutex_lock+0x10/0x10 [ 104.336241][ T5321] ? find_inode_fast+0x5dc/0x740 [ 104.338496][ T5321] ? find_inode_fast+0xd2/0x740 [ 104.340752][ T5321] blk_request_module+0x35/0x2a0 [ 104.342947][ T5321] blkdev_get_no_open+0x3f/0xe0 [ 104.345096][ T5321] bdev_file_open_by_dev+0xa0/0x240 [ 104.347349][ T5321] md_import_device+0x2e9/0x650 [ 104.349659][ T5321] md_add_new_disk+0x669/0x1850 [ 104.351898][ T5321] md_ioctl+0x200a/0x2610 [ 104.353798][ T5321] ? tomoyo_path_number_perm+0x219/0x5f0 [ 104.356263][ T5321] ? __pfx_md_ioctl+0x10/0x10 [ 104.358349][ T5321] ? do_vfs_ioctl+0x116f/0x1530 [ 104.360446][ T5321] ? __pfx_do_vfs_ioctl+0x10/0x10 [ 104.362631][ T5321] ? hook_file_ioctl+0x1f2/0x600 [ 104.364748][ T5321] ? __pfx_md_ioctl+0x10/0x10 [ 104.366807][ T5321] blkdev_ioctl+0x5e3/0x740 [ 104.368824][ T5321] ? __pfx_blkdev_ioctl+0x10/0x10 [ 104.371240][ T5321] ? __fget_files+0x2a/0x420 [ 104.373606][ T5321] ? bpf_lsm_file_ioctl+0x9/0x20 [ 104.375868][ T5321] ? __pfx_blkdev_ioctl+0x10/0x10 [ 104.378123][ T5321] __se_sys_ioctl+0xfc/0x170 [ 104.380169][ T5321] do_syscall_64+0x166/0x520 [ 104.382170][ T5321] ? trace_irq_disable+0x3b/0x140 [ 104.384235][ T5321] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 104.386943][ T5321] ? clear_bhb_loop+0x70/0xc0 [ 104.389475][ T5321] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 104.392702][ T5321] RIP: 0033:0x7ffb8c19e159 [ 104.395233][ T5321] 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 [ 104.404932][ T5321] RSP: 002b:00007ffb885d3fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 104.408582][ T5321] RAX: ffffffffffffffda RBX: 00007ffb8c426090 RCX: 00007ffb8c19e159 [ 104.412026][ T5321] RDX: 0000200000000440 RSI: 0000000040140921 RDI: 0000000000000004 [ 104.415401][ T5321] RBP: 00007ffb8c23506b R08: 0000000000000000 R09: 0000000000000000 [ 104.418986][ T5321] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 104.422319][ T5321] R13: 00007ffb8c426128 R14: 00007ffb8c426090 R15: 00007ffdd1e3d998 [ 104.425663][ T5321] [ 104.428370][ T5325] md: resync of RAID array md0 [ 104.437661][ T5325] md: md0: resync done. [ 104.463491][ T5321] block device autoloading is deprecated and will be removed. [ 104.464358][ T5326] md: recover of RAID array md0 [ 104.479776][ T5326] md: md0: recover done.