Hello, syzbot found the following issue on: HEAD commit: 1e15510b71c9 Merge tag 'net-6.14-rc5' of git://git.kernel... git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=134eca97980000 kernel config: https://syzkaller.appspot.com/x/.config?x=b1635bf4c5557b92 dashboard link: https://syzkaller.appspot.com/bug?extid=4b11b8d3d29d2ced1786 compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40 Unfortunately, I don't have any reproducer for this issue yet. Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/8d3d285b4524/disk-1e15510b.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/5aa6409ccccc/vmlinux-1e15510b.xz kernel image: https://storage.googleapis.com/syzbot-assets/c869f7ce522a/bzImage-1e15510b.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+4b11b8d3d29d2ced1786@xxxxxxxxxxxxxxxxxxxxxxxxx BUG: sleeping function called from invalid context at ./include/linux/pagemap.h:1161 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 15472, name: kworker/0:1 preempt_count: 1, expected: 0 RCU nest depth: 0, expected: 0 3 locks held by kworker/0:1/15472: #0: ffff88801b080d48 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x1293/0x1ba0 kernel/workqueue.c:3213 #1: ffffc90004b7fd18 ((work_completion)(&sfp->ew.work)){+.+.}-{0:0}, at: process_one_work+0x921/0x1ba0 kernel/workqueue.c:3214 #2: ffff88803d188080 (&sfp->rq_list_lock){..-.}-{3:3}, at: sg_remove_sfp_usercontext+0x86/0x580 drivers/scsi/sg.c:2210 irq event stamp: 177768 hardirqs last enabled at (177767): [<ffffffff8b57a523>] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:159 [inline] hardirqs last enabled at (177767): [<ffffffff8b57a523>] _raw_spin_unlock_irq+0x23/0x50 kernel/locking/spinlock.c:202 hardirqs last disabled at (177768): [<ffffffff8b57a9c2>] __raw_write_lock_irqsave include/linux/rwlock_api_smp.h:184 [inline] hardirqs last disabled at (177768): [<ffffffff8b57a9c2>] _raw_write_lock_irqsave+0x52/0x60 kernel/locking/spinlock.c:318 softirqs last enabled at (177736): [<ffffffff817c131b>] softirq_handle_end kernel/softirq.c:407 [inline] softirqs last enabled at (177736): [<ffffffff817c131b>] handle_softirqs+0x5bb/0x8f0 kernel/softirq.c:589 softirqs last disabled at (177731): [<ffffffff817c17e9>] __do_softirq kernel/softirq.c:595 [inline] softirqs last disabled at (177731): [<ffffffff817c17e9>] invoke_softirq kernel/softirq.c:435 [inline] softirqs last disabled at (177731): [<ffffffff817c17e9>] __irq_exit_rcu+0x109/0x170 kernel/softirq.c:662 Preemption disabled at: [<0000000000000000>] 0x0 CPU: 0 UID: 0 PID: 15472 Comm: kworker/0:1 Not tainted 6.14.0-rc4-syzkaller-00169-g1e15510b71c9 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: events sg_remove_sfp_usercontext Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 __might_resched+0x3c0/0x5e0 kernel/sched/core.c:8767 folio_lock include/linux/pagemap.h:1161 [inline] __bio_release_pages+0x310/0x3b0 block/bio.c:1066 bio_release_pages include/linux/bio.h:441 [inline] blk_rq_unmap_user+0x3c0/0x990 block/blk-map.c:675 sg_finish_rem_req+0xde/0x590 drivers/scsi/sg.c:1837 sg_remove_sfp_usercontext+0x102/0x580 drivers/scsi/sg.c:2213 process_one_work+0x9c5/0x1ba0 kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x6c8/0xf00 kernel/workqueue.c:3400 kthread+0x3af/0x750 kernel/kthread.c:464 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK> --- This report is generated by a bot. It may contain errors. See https://goo.gl/tpsmEJ for more information about syzbot. syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx. syzbot will keep track of this issue. See: https://goo.gl/tpsmEJ#status for how to communicate with syzbot. If the report is already addressed, let syzbot know by replying with: #syz fix: exact-commit-title If you want to overwrite report's subsystems, reply with: #syz set subsystems: new-subsystem (See the list of subsystem names on the web dashboard) If the report is a duplicate of another one, reply with: #syz dup: exact-subject-of-another-report If you want to undo deduplication, reply with: #syz undup