cc Alexander Wetzel, I used syzkaller and found the similar problem. And bisected and found the related commit: 27f58c04a8f4 scsi: sg: Avoid sg device teardown race Reverted the commit on top of v6.9-rc2, this issue was gone. All detailed info: https://github.com/xupengfe/syzkaller_logs/tree/main/240401_231147_sg_remove_sfp_usercontext Bisect log: https://github.com/xupengfe/syzkaller_logs/blob/main/240401_231147_sg_remove_sfp_usercontext/bisect_info.log Kconfig(make olddefconfig): https://github.com/xupengfe/syzkaller_logs/blob/main/240401_231147_sg_remove_sfp_usercontext/kconfig_origin v6.9-rc2 bzImage: https://github.com/xupengfe/syzkaller_logs/raw/main/240401_231147_sg_remove_sfp_usercontext/bzImage_v6.9-rc2.tar.gz Reproduced code: https://github.com/xupengfe/syzkaller_logs/blob/main/240401_231147_sg_remove_sfp_usercontext/repro.c Syscall reproduced steps: https://github.com/xupengfe/syzkaller_logs/blob/main/240401_231147_sg_remove_sfp_usercontext/repro.prog I hope it's helpful and if it could be fixed. Feel free to add the reported-by tag from me. Best Regards, Thanks! On 2024-03-28 at 15:40:33 -0700, syzbot wrote: > syzbot has found a reproducer for the following issue on: > > HEAD commit: a6bd6c933339 Add linux-next specific files for 20240328 > git tree: linux-next > console+strace: https://syzkaller.appspot.com/x/log.txt?x=17e3ac29180000 > kernel config: https://syzkaller.appspot.com/x/.config?x=b0058bda1436e073 > dashboard link: https://syzkaller.appspot.com/bug?extid=93cdc797590ffc710918 > compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14c87791180000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1013ac29180000 > > Downloadable assets: > disk image: https://storage.googleapis.com/syzbot-assets/7c1618ff7d25/disk-a6bd6c93.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/875519f620fe/vmlinux-a6bd6c93.xz > kernel image: https://storage.googleapis.com/syzbot-assets/ad92b057fb96/bzImage-a6bd6c93.xz > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+93cdc797590ffc710918@xxxxxxxxxxxxxxxxxxxxxxxxx > > ------------[ cut here ]------------ > WARNING: CPU: 1 PID: 24 at drivers/scsi/sg.c:2236 sg_remove_sfp_usercontext+0x3f3/0x530 drivers/scsi/sg.c:2236 > Modules linked in: > CPU: 1 PID: 24 Comm: kworker/1:0 Not tainted 6.9.0-rc1-next-20240328-syzkaller #0 > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 > Workqueue: events sg_remove_sfp_usercontext > RIP: 0010:sg_remove_sfp_usercontext+0x3f3/0x530 drivers/scsi/sg.c:2236 > Code: 8b 36 49 8d 96 4d 01 00 00 48 c7 c7 a0 fe 4b 8c 48 c7 c1 c0 07 4c 8c 4d 89 e0 e8 d8 a3 eb ff e9 f7 fe ff ff e8 8e 9d 74 fb 90 <0f> 0b 90 e9 3f ff ff ff e8 80 9d 74 fb 48 8b 44 24 08 48 b9 00 00 > RSP: 0018:ffffc900001e7b48 EFLAGS: 00010293 > RAX: ffffffff8620cd42 RBX: 0000000000000002 RCX: ffff8880176f8000 > RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000001 > RBP: 0000000000008000 R08: ffffffff8620cc7c R09: 1ffff11003fccfaf > R10: dffffc0000000000 R11: ffffed1003fccfb0 R12: ffff888022830000 > R13: ffff888022831688 R14: ffff88801fe67d78 R15: ffff888022830148 > FS: 0000000000000000(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 00000000005fdeb8 CR3: 000000000e134000 CR4: 00000000003506f0 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > Call Trace: > <TASK> > process_one_work kernel/workqueue.c:3218 [inline] > process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3299 > worker_thread+0x86d/0xd70 kernel/workqueue.c:3380 > kthread+0x2f0/0x390 kernel/kthread.c:388 > ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 > ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 > </TASK> > > > --- > If you want syzbot to run the reproducer, reply with: > #syz test: git://repo/address.git branch-or-commit-hash > If you attach or paste a git patch, syzbot will apply it before testing.