syzbot
general protection fault in keyspan_break_ctl
Status:
upstream: reported C repro on 2026/08/27 18:53
Subsystems:
usb
Labels:
prio:high
[Documentation on labels]
Reported-by: syzbot+473d7477c523b41d4046@syzkaller.appspotmail.com
Fix commit:
USB: serial: fix ioctl hangup race
Patched on: [ci-upstream-linux-next-kasan-gce-root], missing on: [ci-qemu-gce-upstream-auto ci-qemu-native-arm64-kvm ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci-upstream-rust-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb]
First crash: 15d, last: 4d13h
▶
▼
Last patch testing requests (4)
Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000013: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000098-0x000000000000009f]
CPU: 2 UID: 0 PID: 5975 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
RIP: 0010:keyspan_break_ctl+0x8e/0xe0 drivers/usb/serial/keyspan.c:608
Code: ff ff ff e8 34 76 43 fa 83 fb ff 48 b8 00 00 00 00 00 fc ff df 49 8d bc 24 9c 00 00 00 0f 94 c3 48 89 fa 0f b6 db 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 1d 41
RSP: 0000:ffffc90003537c50 EFLAGS: 00010203
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff87c7c06c
RDX: 0000000000000013 RSI: 00000000ffffffff RDI: 000000000000009c
RBP: ffff88802795a000 R08: 0000000000000005 R09: 00000000ffffffff
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: ffff88806dfa6020 R14: ffff88806dfa60c8 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff888096b64000(0063) knlGS:0000000057079480
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 0000000033563fff CR3: 000000006e702000 CR4: 0000000000352ef0
Call Trace:
<TASK>
serial_break+0xcb/0x160 drivers/usb/serial/usb-serial.c:538
send_break drivers/tty/tty_io.c:2458 [inline]
send_break+0x2ec/0x370 drivers/tty/tty_io.c:2441
tty_ioctl+0xa2c/0x1640 drivers/tty/tty_io.c:2733
tty_compat_ioctl+0x87/0x420 drivers/tty/tty_io.c:2931
__do_compat_sys_ioctl fs/ioctl.c:695 [inline]
__se_compat_sys_ioctl fs/ioctl.c:638 [inline]
__ia32_compat_sys_ioctl+0x2cf/0x360 fs/ioctl.c:638
do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:79 [inline]
__do_fast_syscall_32+0x13a/0x8b0 arch/x86/entry/syscall_32.c:291
do_fast_syscall_32+0x32/0x70 arch/x86/entry/syscall_32.c:316
entry_SYSENTER_compat_after_hwframe+0x84/0x8e
RIP: 0023:0xf700efec
Code: Unable to access opcode bytes at 0xf700efc2.
RSP: 002b:00000000ffa2901c EFLAGS: 00000296 ORIG_RAX: 0000000000000036
RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 0000000000005425
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0
RIP: 0010:keyspan_break_ctl+0x8e/0xe0 drivers/usb/serial/keyspan.c:608
Code: ff ff ff e8 34 76 43 fa 83 fb ff 48 b8 00 00 00 00 00 fc ff df 49 8d bc 24 9c 00 00 00 0f 94 c3 48 89 fa 0f b6 db 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 1d 41
RSP: 0000:ffffc90003537c50 EFLAGS: 00010203
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff87c7c06c
RDX: 0000000000000013 RSI: 00000000ffffffff RDI: 000000000000009c
RBP: ffff88802795a000 R08: 0000000000000005 R09: 00000000ffffffff
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: ffff88806dfa6020 R14: ffff88806dfa60c8 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff888096c64000(0063) knlGS:0000000057079480
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 00007f79c2213e9c CR3: 000000006e702000 CR4: 0000000000352ef0
----------------
Code disassembly (best guess), 2 bytes skipped:
0: ff ljmp (bad)
1: e8 34 76 43 fa call 0xfa43763a
6: 83 fb ff cmp $0xffffffff,%ebx
9: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
10: fc ff df
13: 49 8d bc 24 9c 00 00 lea 0x9c(%r12),%rdi
1a: 00
1b: 0f 94 c3 sete %bl
1e: 48 89 fa mov %rdi,%rdx
21: 0f b6 db movzbl %bl,%ebx
24: 48 c1 ea 03 shr $0x3,%rdx
* 28: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx <-- trapping instruction
2c: 48 89 f8 mov %rdi,%rax
2f: 83 e0 07 and $0x7,%eax
32: 83 c0 03 add $0x3,%eax
35: 38 d0 cmp %dl,%al
37: 7c 04 jl 0x3d
39: 84 d2 test %dl,%dl
3b: 75 1d jne 0x5a
3d: 41 rex.B
* Struck through repros no longer work on HEAD.