syzbot


general protection fault in qt2_read_bulk_callback

Status: upstream: reported C repro on 2025/01/11 00:40
Subsystems: usb
[Documentation on labels]
Reported-by: syzbot+506479ebf12fe435d01a@syzkaller.appspotmail.com
First crash: 8d08h, last: 8d04h
Cause bisection: failed (error log, bisect log)
  
Discussions (6)
Title Replies (including bot) Last reply
Re: [PATCH v3] USB: serial: quatech2: Fix null-ptr-deref in qt2_process_read_urb() 1 (1) 2025/01/14 10:44
[PATCH v3] USB: serial: quatech2: Fix null-ptr-deref in qt2_process_read_urb() 2 (2) 2025/01/14 09:47
Re: [PATCH v2] usb: Fix null-ptr-deref in qt2_process_read_urb() 1 (1) 2025/01/13 18:12
[PATCH v2] usb: Fix null-ptr-deref in qt2_process_read_urb() 3 (3) 2025/01/13 09:00
[PATCH] usb: Fix null-ptr-deref in qt2_process_read_urb() 3 (3) 2025/01/12 10:14
[syzbot] [usb?] general protection fault in qt2_read_bulk_callback 0 (2) 2025/01/11 17:19
Last patch testing requests (1)
Created Duration User Patch Repo Result
2025/01/11 17:19 1h33m qasdev00@gmail.com patch upstream OK log

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000024: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000120-0x0000000000000127]
CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Not tainted 6.13.0-rc6-syzkaller-00006-g5428dc1906dd #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:tty_insert_flip_char include/linux/tty_flip.h:67 [inline]
RIP: 0010:qt2_process_read_urb drivers/usb/serial/quatech2.c:538 [inline]
RIP: 0010:qt2_read_bulk_callback+0x3b2/0x1160 drivers/usb/serial/quatech2.c:574
Code: 00 00 42 0f b6 04 28 84 c0 0f 85 e0 08 00 00 c6 84 24 d0 00 00 00 00 48 8b 44 24 08 48 8d 98 20 01 00 00 48 89 d8 48 c1 e8 03 <42> 80 3c 28 00 74 08 48 89 df e8 0f 1b 81 fa 4c 8b 3b 4d 8d 67 08
RSP: 0018:ffffc90000a18720 EFLAGS: 00010006
RAX: 0000000000000024 RBX: 0000000000000120 RCX: ffffc90000a18700
RDX: 0000000000000100 RSI: 0000000000000000 RDI: 000000000000001b
RBP: ffffc90000a18870 R08: ffffffff8784cba6 R09: 1ffffffff203303e
R10: dffffc0000000000 R11: fffffbfff203303f R12: ffff888032352c13
R13: dffffc0000000000 R14: 00000000000000a5 R15: ffff888033680800
FS:  0000000000000000(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000556bc64d0d60 CR3: 0000000035e4e000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 __usb_hcd_giveback_urb+0x42c/0x6e0 drivers/usb/core/hcd.c:1650
 dummy_timer+0x856/0x4620 drivers/usb/gadget/udc/dummy_hcd.c:1993
 __run_hrtimer kernel/time/hrtimer.c:1739 [inline]
 __hrtimer_run_queues+0x59b/0xd30 kernel/time/hrtimer.c:1803
 hrtimer_run_softirq+0x19a/0x2c0 kernel/time/hrtimer.c:1820
 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561
 __do_softirq kernel/softirq.c:595 [inline]
 invoke_softirq kernel/softirq.c:435 [inline]
 __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678
 common_interrupt+0xb9/0xd0 arch/x86/kernel/irq.c:278
 </IRQ>
 <TASK>
 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693
RIP: 0010:finish_task_switch+0x1ea/0x870 kernel/sched/core.c:5243
Code: c9 50 e8 49 0c 0c 00 48 83 c4 08 4c 89 f7 e8 ed 39 00 00 0f 1f 44 00 00 4c 89 f7 e8 e0 d9 5c 0a e8 0b 8c 38 00 fb 48 8b 5d c0 <48> 8d bb f8 15 00 00 48 89 f8 48 c1 e8 03 49 be 00 00 00 00 00 fc
RSP: 0018:ffffc900001a7b48 EFLAGS: 00000286
RAX: 1d3ab2024a67fb00 RBX: ffff88801d2e8000 RCX: ffffffff9a3ab903
RDX: dffffc0000000000 RSI: ffffffff8c0a98e0 RDI: ffffffff8c5fb020
RBP: ffffc900001a7b90 R08: ffffffff901981f7 R09: 1ffffffff203303e
R10: dffffc0000000000 R11: fffffbfff203303f R12: 1ffff110170e7edc
R13: dffffc0000000000 R14: ffff8880b873e8c0 R15: ffff8880b873f6e0
 context_switch kernel/sched/core.c:5372 [inline]
 __schedule+0x1858/0x4c30 kernel/sched/core.c:6756
 schedule_idle+0x56/0x90 kernel/sched/core.c:6874
 do_idle+0x567/0x5c0 kernel/sched/idle.c:353
 cpu_startup_entry+0x42/0x60 kernel/sched/idle.c:423
 start_secondary+0x102/0x110 arch/x86/kernel/smpboot.c:314
 common_startup_64+0x13e/0x147
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:tty_insert_flip_char include/linux/tty_flip.h:67 [inline]
RIP: 0010:qt2_process_read_urb drivers/usb/serial/quatech2.c:538 [inline]
RIP: 0010:qt2_read_bulk_callback+0x3b2/0x1160 drivers/usb/serial/quatech2.c:574
Code: 00 00 42 0f b6 04 28 84 c0 0f 85 e0 08 00 00 c6 84 24 d0 00 00 00 00 48 8b 44 24 08 48 8d 98 20 01 00 00 48 89 d8 48 c1 e8 03 <42> 80 3c 28 00 74 08 48 89 df e8 0f 1b 81 fa 4c 8b 3b 4d 8d 67 08
RSP: 0018:ffffc90000a18720 EFLAGS: 00010006
RAX: 0000000000000024 RBX: 0000000000000120 RCX: ffffc90000a18700
RDX: 0000000000000100 RSI: 0000000000000000 RDI: 000000000000001b
RBP: ffffc90000a18870 R08: ffffffff8784cba6 R09: 1ffffffff203303e
R10: dffffc0000000000 R11: fffffbfff203303f R12: ffff888032352c13
R13: dffffc0000000000 R14: 00000000000000a5 R15: ffff888033680800
FS:  0000000000000000(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000556bc64d0d60 CR3: 0000000035e4e000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	00 00                	add    %al,(%rax)
   2:	42 0f b6 04 28       	movzbl (%rax,%r13,1),%eax
   7:	84 c0                	test   %al,%al
   9:	0f 85 e0 08 00 00    	jne    0x8ef
   f:	c6 84 24 d0 00 00 00 	movb   $0x0,0xd0(%rsp)
  16:	00
  17:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
  1c:	48 8d 98 20 01 00 00 	lea    0x120(%rax),%rbx
  23:	48 89 d8             	mov    %rbx,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 80 3c 28 00       	cmpb   $0x0,(%rax,%r13,1) <-- trapping instruction
  2f:	74 08                	je     0x39
  31:	48 89 df             	mov    %rbx,%rdi
  34:	e8 0f 1b 81 fa       	call   0xfa811b48
  39:	4c 8b 3b             	mov    (%rbx),%r15
  3c:	4d 8d 67 08          	lea    0x8(%r15),%r12

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/01/07 04:34 upstream 5428dc1906dd f3558dbf .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce general protection fault in qt2_read_bulk_callback
2025/01/07 03:32 upstream 5428dc1906dd f3558dbf .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce general protection fault in qt2_read_bulk_callback
2025/01/07 01:19 upstream 5428dc1906dd f3558dbf .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce general protection fault in qt2_read_bulk_callback
2025/01/07 00:30 upstream 5428dc1906dd f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce general protection fault in qt2_read_bulk_callback
2025/01/07 00:30 upstream 5428dc1906dd f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce general protection fault in qt2_read_bulk_callback
* Struck through repros no longer work on HEAD.