------------[ cut here ]------------ do not call blocking ops when !TASK_RUNNING; state=402 set at [<00000000e35906e5>] worker_set_flags kernel/workqueue.c:983 [inline] do not call blocking ops when !TASK_RUNNING; state=402 set at [<00000000e35906e5>] worker_thread+0x498/0xc40 kernel/workqueue.c:2445 WARNING: CPU: 1 PID: 2767 at kernel/sched/core.c:9656 __might_sleep+0x10c/0x144 kernel/sched/core.c:9656 Modules linked in: CPU: 1 PID: 2767 Comm: kworker/1:1 Not tainted 5.17.0-syzkaller-10734-gcb7cbaae7fd9 #0 Hardware name: linux,dummy-virt (DT) Workqueue: 0x0 (events) pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __might_sleep+0x10c/0x144 kernel/sched/core.c:9656 lr : __might_sleep+0x10c/0x144 kernel/sched/core.c:9656 sp : ffff800011a37650 x29: ffff800011a37650 x28: dfff800000000000 x27: 1fffe000020245f8 x26: 1ffff00001c41d28 x25: 0000000000000000 x24: ffff80000ca29fa0 x23: ffff000016a11ac0 x22: ffff000016a11ac0 x21: 0000000000000402 x20: 00000000000002fe x19: ffff80000ca29b60 x18: ffff00006aa42c3c x17: 3c5b207461207465 x16: 73203230343d6574 x15: 617473203b474e49 x14: 1ffff00002346e08 x13: 0000000000000001 x12: ffff60000d54859d x11: 1fffe0000d54859c x10: ffff60000d54859c x9 : dfff800000000000 x8 : ffff00006aa42ce3 x7 : 0000000000000001 x6 : 00009ffff2ab7a64 x5 : ffff00006aa42ce0 x4 : 1fffe00002d42359 x3 : dfff800000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000016a11ac0 Call trace: __might_sleep+0x10c/0x144 kernel/sched/core.c:9656 blk_release_queue+0x30/0x25c block/blk-sysfs.c:766 kobject_cleanup lib/kobject.c:705 [inline] kobject_release lib/kobject.c:736 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x170/0x460 lib/kobject.c:753 blk_put_queue+0x14/0x20 block/blk-core.c:270 blkg_free.part.0+0xdc/0x1a0 block/blk-cgroup.c:86 blkg_free block/blk-cgroup.c:78 [inline] __blkg_release+0xbc/0x110 block/blk-cgroup.c:102 rcu_do_batch kernel/rcu/tree.c:2535 [inline] rcu_core+0xc60/0x1a00 kernel/rcu/tree.c:2786 rcu_core_si+0x10/0x20 kernel/rcu/tree.c:2803 _stext+0x3f4/0xff8 do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline] invoke_softirq kernel/softirq.c:439 [inline] __irq_exit_rcu+0x208/0x4f0 kernel/softirq.c:637 irq_exit_rcu+0x14/0x80 kernel/softirq.c:649 __el1_irq arch/arm64/kernel/entry-common.c:459 [inline] el1_interrupt+0x38/0x54 arch/arm64/kernel/entry-common.c:473 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:478 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:577 arch_irqs_disabled arch/arm64/include/asm/irqflags.h:98 [inline] __schedule+0x250/0x1c80 kernel/sched/core.c:6278 schedule+0xb8/0x1c4 kernel/sched/core.c:6454 worker_thread+0x4fc/0xc40 kernel/workqueue.c:2457 kthread+0x234/0x2a0 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:867 irq event stamp: 2127975 hardirqs last enabled at (2127974): [] __up_console_sem+0x78/0x84 kernel/printk/printk.c:264 hardirqs last disabled at (2127975): [] el1_dbg+0x24/0x80 arch/arm64/kernel/entry-common.c:395 softirqs last enabled at (2127810): [] spin_unlock_bh include/linux/spinlock.h:394 [inline] softirqs last enabled at (2127810): [] nsim_dev_trap_report drivers/net/netdevsim/dev.c:814 [inline] softirqs last enabled at (2127810): [] nsim_dev_trap_report_work+0x690/0x9ac drivers/net/netdevsim/dev.c:840 softirqs last disabled at (2127825): [] do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline] softirqs last disabled at (2127825): [] invoke_softirq kernel/softirq.c:439 [inline] softirqs last disabled at (2127825): [] __irq_exit_rcu+0x208/0x4f0 kernel/softirq.c:637 ---[ end trace 0000000000000000 ]--- BUG: sleeping function called from invalid context at block/blk-sysfs.c:766 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 2767, name: kworker/1:1 preempt_count: 101, expected: 0 RCU nest depth: 0, expected: 0 1 lock held by kworker/1:1/2767: #0: ffff80000de84a20 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2524 [inline] #0: ffff80000de84a20 (rcu_callback){....}-{0:0}, at: rcu_core+0xbf8/0x1a00 kernel/rcu/tree.c:2786 Preemption disabled at: [] schedule+0xb0/0x1c4 kernel/sched/core.c:6453 CPU: 1 PID: 2767 Comm: kworker/1:1 Tainted: G W 5.17.0-syzkaller-10734-gcb7cbaae7fd9 #0 Hardware name: linux,dummy-virt (DT) Workqueue: 0x0 (events) Call trace: dump_backtrace+0x1e0/0x270 arch/arm64/kernel/stacktrace.c:184 show_stack+0x18/0x70 arch/arm64/kernel/stacktrace.c:191 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x9c/0xd8 lib/dump_stack.c:106 dump_stack+0x1c/0x38 lib/dump_stack.c:113 __might_resched+0x3c8/0x530 kernel/sched/core.c:9733 __might_sleep+0x90/0x144 kernel/sched/core.c:9662 blk_release_queue+0x30/0x25c block/blk-sysfs.c:766 kobject_cleanup lib/kobject.c:705 [inline] kobject_release lib/kobject.c:736 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x170/0x460 lib/kobject.c:753 blk_put_queue+0x14/0x20 block/blk-core.c:270 blkg_free.part.0+0xdc/0x1a0 block/blk-cgroup.c:86 blkg_free block/blk-cgroup.c:78 [inline] __blkg_release+0xbc/0x110 block/blk-cgroup.c:102 rcu_do_batch kernel/rcu/tree.c:2535 [inline] rcu_core+0xc60/0x1a00 kernel/rcu/tree.c:2786 rcu_core_si+0x10/0x20 kernel/rcu/tree.c:2803 _stext+0x3f4/0xff8 do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline] invoke_softirq kernel/softirq.c:439 [inline] __irq_exit_rcu+0x208/0x4f0 kernel/softirq.c:637 irq_exit_rcu+0x14/0x80 kernel/softirq.c:649 __el1_irq arch/arm64/kernel/entry-common.c:459 [inline] el1_interrupt+0x38/0x54 arch/arm64/kernel/entry-common.c:473 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:478 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:577 arch_irqs_disabled arch/arm64/include/asm/irqflags.h:98 [inline] __schedule+0x250/0x1c80 kernel/sched/core.c:6278 schedule+0xb8/0x1c4 kernel/sched/core.c:6454 worker_thread+0x4fc/0xc40 kernel/workqueue.c:2457 kthread+0x234/0x2a0 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:867 ================================ WARNING: inconsistent lock state 5.17.0-syzkaller-10734-gcb7cbaae7fd9 #0 Tainted: G W -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. kworker/1:1/2767 [HC0[0]:SC1[1]:HE0:SE0] takes: ffff000010122f20 (&xa->xa_lock#6){+.?.}-{2:2}, at: xa_destroy+0x8c/0x240 lib/xarray.c:2207 {SOFTIRQ-ON-W} state was registered at: lock_acquire kernel/locking/lockdep.c:5641 [inline] lock_acquire+0x568/0x93c kernel/locking/lockdep.c:5606 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x8c/0x120 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:349 [inline] xa_insert include/linux/xarray.h:772 [inline] blk_mq_init_hctx block/blk-mq.c:3502 [inline] blk_mq_alloc_and_init_hctx+0x384/0xd64 block/blk-mq.c:3963 blk_mq_realloc_hw_ctxs+0x258/0x350 block/blk-mq.c:3992 blk_mq_init_allocated_queue+0x3c4/0x1050 block/blk-mq.c:4054 blk_mq_init_queue_data block/blk-mq.c:3907 [inline] __blk_mq_alloc_disk+0xb4/0x15c block/blk-mq.c:3927 loop_add+0x29c/0x7ac drivers/block/loop.c:2011 loop_init+0x134/0x158 drivers/block/loop.c:2267 do_one_initcall+0x128/0x950 init/main.c:1298 do_initcall_level init/main.c:1371 [inline] do_initcalls init/main.c:1387 [inline] do_basic_setup init/main.c:1406 [inline] kernel_init_freeable+0x71c/0x7a0 init/main.c:1613 kernel_init+0x28/0x140 init/main.c:1502 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:867 irq event stamp: 2128141 hardirqs last enabled at (2128140): [] kasan_quarantine_put+0x108/0x254 mm/kasan/quarantine.c:231 hardirqs last disabled at (2128141): [] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline] hardirqs last disabled at (2128141): [] _raw_spin_lock_irqsave+0xfc/0x160 kernel/locking/spinlock.c:162 softirqs last enabled at (2127810): [] spin_unlock_bh include/linux/spinlock.h:394 [inline] softirqs last enabled at (2127810): [] nsim_dev_trap_report drivers/net/netdevsim/dev.c:814 [inline] softirqs last enabled at (2127810): [] nsim_dev_trap_report_work+0x690/0x9ac drivers/net/netdevsim/dev.c:840 softirqs last disabled at (2127825): [] do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline] softirqs last disabled at (2127825): [] invoke_softirq kernel/softirq.c:439 [inline] softirqs last disabled at (2127825): [] __irq_exit_rcu+0x208/0x4f0 kernel/softirq.c:637 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&xa->xa_lock#6); lock(&xa->xa_lock#6); *** DEADLOCK *** 1 lock held by kworker/1:1/2767: #0: ffff80000de84a20 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2524 [inline] #0: ffff80000de84a20 (rcu_callback){....}-{0:0}, at: rcu_core+0xbf8/0x1a00 kernel/rcu/tree.c:2786 stack backtrace: CPU: 1 PID: 2767 Comm: kworker/1:1 Tainted: G W 5.17.0-syzkaller-10734-gcb7cbaae7fd9 #0 Hardware name: linux,dummy-virt (DT) Workqueue: 0x0 (events) Call trace: dump_backtrace+0x1e0/0x270 arch/arm64/kernel/stacktrace.c:184 show_stack+0x18/0x70 arch/arm64/kernel/stacktrace.c:191 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x9c/0xd8 lib/dump_stack.c:106 dump_stack+0x1c/0x38 lib/dump_stack.c:113 print_usage_bug.part.0+0x4c4/0x4e8 kernel/locking/lockdep.c:3935 print_usage_bug kernel/locking/lockdep.c:3905 [inline] valid_state kernel/locking/lockdep.c:3947 [inline] mark_lock_irq kernel/locking/lockdep.c:4156 [inline] mark_lock+0xf50/0x1360 kernel/locking/lockdep.c:4607 mark_usage kernel/locking/lockdep.c:4502 [inline] __lock_acquire+0x1030/0x49e0 kernel/locking/lockdep.c:4983 lock_acquire kernel/locking/lockdep.c:5641 [inline] lock_acquire+0x568/0x93c kernel/locking/lockdep.c:5606 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xa8/0x160 kernel/locking/spinlock.c:162 xa_destroy+0x8c/0x240 lib/xarray.c:2207 blk_mq_release+0x208/0x2e4 block/blk-mq.c:3888 blk_release_queue+0x100/0x25c block/blk-sysfs.c:780 kobject_cleanup lib/kobject.c:705 [inline] kobject_release lib/kobject.c:736 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x170/0x460 lib/kobject.c:753 blk_put_queue+0x14/0x20 block/blk-core.c:270 blkg_free.part.0+0xdc/0x1a0 block/blk-cgroup.c:86 blkg_free block/blk-cgroup.c:78 [inline] __blkg_release+0xbc/0x110 block/blk-cgroup.c:102 rcu_do_batch kernel/rcu/tree.c:2535 [inline] rcu_core+0xc60/0x1a00 kernel/rcu/tree.c:2786 rcu_core_si+0x10/0x20 kernel/rcu/tree.c:2803 _stext+0x3f4/0xff8 do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline] invoke_softirq kernel/softirq.c:439 [inline] __irq_exit_rcu+0x208/0x4f0 kernel/softirq.c:637 irq_exit_rcu+0x14/0x80 kernel/softirq.c:649 __el1_irq arch/arm64/kernel/entry-common.c:459 [inline] el1_interrupt+0x38/0x54 arch/arm64/kernel/entry-common.c:473 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:478 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:577 arch_irqs_disabled arch/arm64/include/asm/irqflags.h:98 [inline] __schedule+0x250/0x1c80 kernel/sched/core.c:6278 schedule+0xb8/0x1c4 kernel/sched/core.c:6454 worker_thread+0x4fc/0xc40 kernel/workqueue.c:2457 kthread+0x234/0x2a0 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:867