BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1589 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 15, name: kworker/u8:1 preempt_count: 101, expected: 0 RCU nest depth: 0, expected: 0 2 locks held by kworker/u8:1/15: #0: ffff0000d6a51948 ((wq_completion)loop0){+.+.}-{0:0}, at: process_one_work+0x63c/0x155c kernel/workqueue.c:3210 #1: ffff800097ca7be0 ((work_completion)(&worker->work)){+.+.}-{0:0}, at: process_one_work+0x6d4/0x155c kernel/workqueue.c:3210 Preemption disabled at: [] spin_lock_irq include/linux/spinlock.h:376 [inline] [] loop_process_work+0xbd0/0x1004 drivers/block/loop.c:1957 CPU: 1 UID: 0 PID: 15 Comm: kworker/u8:1 Not tainted syzkaller #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025 Workqueue: loop0 loop_workfn Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 __might_resched+0x348/0x4c4 kernel/sched/core.c:8957 __might_sleep+0x94/0x110 kernel/sched/core.c:8886 down_write+0x28/0xc0 kernel/locking/rwsem.c:1589 inode_lock include/linux/fs.h:870 [inline] jfs_fsync+0x9c/0x1d0 fs/jfs/file.c:28 vfs_fsync_range+0x160/0x19c fs/sync.c:187 generic_write_sync include/linux/fs.h:3043 [inline] dio_complete+0x510/0x6bc fs/direct-io.c:313 dio_bio_end_aio+0x474/0x544 fs/direct-io.c:368 bio_endio+0x858/0x894 block/bio.c:1651 blk_update_request+0x474/0xba8 block/blk-mq.c:989 blk_mq_end_request+0x54/0x88 block/blk-mq.c:1151 lo_complete_rq+0x124/0x274 drivers/block/loop.c:314 blk_complete_reqs block/blk-mq.c:1226 [inline] blk_done_softirq+0x11c/0x168 block/blk-mq.c:1231 handle_softirqs+0x328/0xc88 kernel/softirq.c:579 __do_softirq+0x14/0x20 kernel/softirq.c:613 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:68 call_on_irq_stack+0x30/0x48 arch/arm64/kernel/entry.S:891 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:73 invoke_softirq kernel/softirq.c:460 [inline] __irq_exit_rcu+0x1b0/0x478 kernel/softirq.c:680 irq_exit_rcu+0x14/0x84 kernel/softirq.c:696 __el1_irq arch/arm64/kernel/entry-common.c:520 [inline] el1_interrupt+0x40/0x60 arch/arm64/kernel/entry-common.c:532 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:537 el1h_64_irq+0x6c/0x70 arch/arm64/kernel/entry.S:592 __daif_local_irq_enable arch/arm64/include/asm/irqflags.h:26 [inline] (P) arch_local_irq_enable arch/arm64/include/asm/irqflags.h:48 [inline] (P) __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:159 [inline] (P) _raw_spin_unlock_irq+0x34/0x80 kernel/locking/spinlock.c:202 (P) spin_unlock_irq include/linux/spinlock.h:401 [inline] loop_process_work+0x1c8/0x1004 drivers/block/loop.c:1952 loop_workfn+0x50/0x64 drivers/block/loop.c:1978 process_one_work+0x7e8/0x155c kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 ============================= [ BUG: Invalid wait context ] syzkaller #0 Tainted: G W ----------------------------- kworker/u8:1/15 is trying to lock: ffff0000e336f418 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: inode_lock include/linux/fs.h:870 [inline] ffff0000e336f418 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: jfs_fsync+0x9c/0x1d0 fs/jfs/file.c:28 other info that might help us debug this: context-{3:3} 2 locks held by kworker/u8:1/15: #0: ffff0000d6a51948 ((wq_completion)loop0){+.+.}-{0:0}, at: process_one_work+0x63c/0x155c kernel/workqueue.c:3210 #1: ffff800097ca7be0 ((work_completion)(&worker->work)){+.+.}-{0:0}, at: process_one_work+0x6d4/0x155c kernel/workqueue.c:3210 stack backtrace: CPU: 1 UID: 0 PID: 15 Comm: kworker/u8:1 Tainted: G W syzkaller #0 PREEMPT Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025 Workqueue: loop0 loop_workfn Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 print_lock_invalid_wait_context kernel/locking/lockdep.c:4830 [inline] check_wait_context kernel/locking/lockdep.c:4902 [inline] __lock_acquire+0xaec/0x30a4 kernel/locking/lockdep.c:5187 lock_acquire+0x14c/0x2e0 kernel/locking/lockdep.c:5868 down_write+0x50/0xc0 kernel/locking/rwsem.c:1590 inode_lock include/linux/fs.h:870 [inline] jfs_fsync+0x9c/0x1d0 fs/jfs/file.c:28 vfs_fsync_range+0x160/0x19c fs/sync.c:187 generic_write_sync include/linux/fs.h:3043 [inline] dio_complete+0x510/0x6bc fs/direct-io.c:313 dio_bio_end_aio+0x474/0x544 fs/direct-io.c:368 bio_endio+0x858/0x894 block/bio.c:1651 blk_update_request+0x474/0xba8 block/blk-mq.c:989 blk_mq_end_request+0x54/0x88 block/blk-mq.c:1151 lo_complete_rq+0x124/0x274 drivers/block/loop.c:314 blk_complete_reqs block/blk-mq.c:1226 [inline] blk_done_softirq+0x11c/0x168 block/blk-mq.c:1231 handle_softirqs+0x328/0xc88 kernel/softirq.c:579 __do_softirq+0x14/0x20 kernel/softirq.c:613 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:68 call_on_irq_stack+0x30/0x48 arch/arm64/kernel/entry.S:891 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:73 invoke_softirq kernel/softirq.c:460 [inline] __irq_exit_rcu+0x1b0/0x478 kernel/softirq.c:680 irq_exit_rcu+0x14/0x84 kernel/softirq.c:696 __el1_irq arch/arm64/kernel/entry-common.c:520 [inline] el1_interrupt+0x40/0x60 arch/arm64/kernel/entry-common.c:532 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:537 el1h_64_irq+0x6c/0x70 arch/arm64/kernel/entry.S:592 __daif_local_irq_enable arch/arm64/include/asm/irqflags.h:26 [inline] (P) arch_local_irq_enable arch/arm64/include/asm/irqflags.h:48 [inline] (P) __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:159 [inline] (P) _raw_spin_unlock_irq+0x34/0x80 kernel/locking/spinlock.c:202 (P) spin_unlock_irq include/linux/spinlock.h:401 [inline] loop_process_work+0x1c8/0x1004 drivers/block/loop.c:1952 loop_workfn+0x50/0x64 drivers/block/loop.c:1978 process_one_work+0x7e8/0x155c kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1589 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 23, name: ksoftirqd/1 preempt_count: 100, expected: 0 RCU nest depth: 0, expected: 0 INFO: lockdep is turned off. Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:420 [inline] [] handle_softirqs+0xe8/0xc88 kernel/softirq.c:555 CPU: 1 UID: 0 PID: 23 Comm: ksoftirqd/1 Tainted: G W syzkaller #0 PREEMPT Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 __might_resched+0x348/0x4c4 kernel/sched/core.c:8957 __might_sleep+0x94/0x110 kernel/sched/core.c:8886 down_write+0x28/0xc0 kernel/locking/rwsem.c:1589 inode_lock include/linux/fs.h:870 [inline] jfs_fsync+0x9c/0x1d0 fs/jfs/file.c:28 vfs_fsync_range+0x160/0x19c fs/sync.c:187 generic_write_sync include/linux/fs.h:3043 [inline] dio_complete+0x510/0x6bc fs/direct-io.c:313 dio_bio_end_aio+0x474/0x544 fs/direct-io.c:368 bio_endio+0x858/0x894 block/bio.c:1651 blk_update_request+0x474/0xba8 block/blk-mq.c:989 blk_mq_end_request+0x54/0x88 block/blk-mq.c:1151 lo_complete_rq+0x124/0x274 drivers/block/loop.c:314 blk_complete_reqs block/blk-mq.c:1226 [inline] blk_done_softirq+0x11c/0x168 block/blk-mq.c:1231 handle_softirqs+0x328/0xc88 kernel/softirq.c:579 run_ksoftirqd+0x70/0xc0 kernel/softirq.c:968 smpboot_thread_fn+0x4d8/0x9cc kernel/smpboot.c:160 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1589 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 23, name: ksoftirqd/1 preempt_count: 100, expected: 0 RCU nest depth: 0, expected: 0 INFO: lockdep is turned off. Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:420 [inline] [] handle_softirqs+0xe8/0xc88 kernel/softirq.c:555 CPU: 1 UID: 0 PID: 23 Comm: ksoftirqd/1 Tainted: G W syzkaller #0 PREEMPT Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 __might_resched+0x348/0x4c4 kernel/sched/core.c:8957 __might_sleep+0x94/0x110 kernel/sched/core.c:8886 down_write+0x28/0xc0 kernel/locking/rwsem.c:1589 inode_lock include/linux/fs.h:870 [inline] jfs_fsync+0x9c/0x1d0 fs/jfs/file.c:28 vfs_fsync_range+0x160/0x19c fs/sync.c:187 generic_write_sync include/linux/fs.h:3043 [inline] dio_complete+0x510/0x6bc fs/direct-io.c:313 dio_bio_end_aio+0x474/0x544 fs/direct-io.c:368 bio_endio+0x858/0x894 block/bio.c:1651 blk_update_request+0x474/0xba8 block/blk-mq.c:989 blk_mq_end_request+0x54/0x88 block/blk-mq.c:1151 lo_complete_rq+0x124/0x274 drivers/block/loop.c:314 blk_complete_reqs block/blk-mq.c:1226 [inline] blk_done_softirq+0x11c/0x168 block/blk-mq.c:1231 handle_softirqs+0x328/0xc88 kernel/softirq.c:579 run_ksoftirqd+0x70/0xc0 kernel/softirq.c:968 smpboot_thread_fn+0x4d8/0x9cc kernel/smpboot.c:160 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844