syzbot
general protection fault in alauda_transport
Status:
upstream: reported C repro on 2026/08/21 07:30
Subsystems:
usb-storage
Labels:
prio:high
[Documentation on labels]
Reported-by: syzbot+ccc9a7cb39fa1af827ea@syzkaller.appspotmail.com
First crash: 4d19h, last: 4d17h
Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 0 UID: 0 PID: 6317 Comm: usb-storage Not tainted syzkaller #0 PREEMPT(lazy)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:alauda_read_data drivers/usb/storage/alauda.c:972 [inline]
RIP: 0010:alauda_transport+0xfd6/0x35c0 drivers/usb/storage/alauda.c:1187
Code: 48 c1 e9 03 80 3c 31 00 0f 85 ee 1d 00 00 48 8b 0b 8b 54 24 10 48 be 00 00 00 00 00 fc ff df 48 8d 1c 51 48 89 d9 48 c1 e9 03 <0f> b6 34 31 48 89 d9 83 e1 07 83 c1 01 40 38 f1 7c 09 40 84 f6 0f
RSP: 0018:ffffc90002dcf9e0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: dffffc0000000000 RDI: ffff888118ad0920
RBP: 0000000000000240 R08: 0000000000000005 R09: 000000000000001f
R10: 0000000000000009 R11: ffffffff81596b4a R12: 0000000000000001
R13: 0000000000000001 R14: ffff888118ad0900 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff888268633000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7516ee1254 CR3: 0000000109f36000 CR4: 00000000003506f0
Call Trace:
<TASK>
usb_stor_invoke_transport+0xee/0x15d0 drivers/usb/storage/transport.c:611
usb_stor_control_thread+0x5e4/0xae0 drivers/usb/storage/usb.c:462
kthread+0x370/0x450 kernel/kthread.c:436
ret_from_fork+0x69a/0xc80 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:alauda_read_data drivers/usb/storage/alauda.c:972 [inline]
RIP: 0010:alauda_transport+0xfd6/0x35c0 drivers/usb/storage/alauda.c:1187
Code: 48 c1 e9 03 80 3c 31 00 0f 85 ee 1d 00 00 48 8b 0b 8b 54 24 10 48 be 00 00 00 00 00 fc ff df 48 8d 1c 51 48 89 d9 48 c1 e9 03 <0f> b6 34 31 48 89 d9 83 e1 07 83 c1 01 40 38 f1 7c 09 40 84 f6 0f
RSP: 0018:ffffc90002dcf9e0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: dffffc0000000000 RDI: ffff888118ad0920
RBP: 0000000000000240 R08: 0000000000000005 R09: 000000000000001f
R10: 0000000000000009 R11: ffffffff81596b4a R12: 0000000000000001
R13: 0000000000000001 R14: ffff888118ad0900 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff888268733000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb6f8698060 CR3: 0000000125ff4000 CR4: 00000000003506f0
----------------
Code disassembly (best guess):
0: 48 c1 e9 03 shr $0x3,%rcx
4: 80 3c 31 00 cmpb $0x0,(%rcx,%rsi,1)
8: 0f 85 ee 1d 00 00 jne 0x1dfc
e: 48 8b 0b mov (%rbx),%rcx
11: 8b 54 24 10 mov 0x10(%rsp),%edx
15: 48 be 00 00 00 00 00 movabs $0xdffffc0000000000,%rsi
1c: fc ff df
1f: 48 8d 1c 51 lea (%rcx,%rdx,2),%rbx
23: 48 89 d9 mov %rbx,%rcx
26: 48 c1 e9 03 shr $0x3,%rcx
* 2a: 0f b6 34 31 movzbl (%rcx,%rsi,1),%esi <-- trapping instruction
2e: 48 89 d9 mov %rbx,%rcx
31: 83 e1 07 and $0x7,%ecx
34: 83 c1 01 add $0x1,%ecx
37: 40 38 f1 cmp %sil,%cl
3a: 7c 09 jl 0x45
3c: 40 84 f6 test %sil,%sil
3f: 0f .byte 0xf
* Struck through repros no longer work on HEAD.