general protection fault in emi26_probe

Status: upstream: reported syz repro on 2026/07/28 23:05
Reported-by: syzbot+9687e58b2abb9b6ac6a8@syzkaller.appspotmail.com
First crash: 6d12h, last: 1d14h
Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 general protection fault in emi26_probe 2 syz, C 15 1d22h 7d00h 0/3 upstream: reported C repro on 2026/07/28 11:32
upstream general protection fault in emi26_probe prio:low usb 2 syz, C error 14 1d08h 2d11h 0/29 upstream: reported C repro on 2026/08/02 00:00
linux-5.15 general protection fault in emi26_probe 2 syz, C 9 1d17h 1d22h 0/3 upstream: reported C repro on 2026/08/02 13:37

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 1 PID: 790 Comm: kworker/1:2 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: usb_hub_wq hub_event
RIP: 0010:ihex_binrec_size include/linux/ihex.h:26 [inline]
RIP: 0010:__ihex_next_binrec include/linux/ihex.h:35 [inline]
RIP: 0010:ihex_validate_fw include/linux/ihex.h:54 [inline]
RIP: 0010:request_ihex_firmware include/linux/ihex.h:74 [inline]
RIP: 0010:emi26_load_firmware drivers/usb/misc/emi26.c:86 [inline]
RIP: 0010:emi26_probe+0x281/0x1660 drivers/usb/misc/emi26.c:232
Code: ff 89 de e8 01 9c ff f6 85 db 0f 84 d5 01 00 00 e8 d4 98 ff f6 48 bb 00 00 00 00 00 fc ff df 49 8d 7e 04 48 89 f8 48 c1 e8 03 <0f> b6 04 18 84 c0 75 47 49 8d 7e 05 48 89 f8 48 c1 e8 03 0f b6 04
RSP: 0018:ffffc9000377ee60 EFLAGS: 00010247
RAX: 0000000000000000 RBX: dffffc0000000000 RCX: ffff88802166da00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: ffffc9000377efa0 R08: ffffffff911eb577 R09: 1ffffffff223d6ae
R10: dffffc0000000000 R11: fffffbfff223d6af R12: fffffffffffffffa
R13: 1fffffffffffffff R14: 0000000000000000 R15: 1fffffffffffffff
FS:  0000000000000000(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f801c7eb700 CR3: 000000002f409000 CR4: 00000000003506e0
Call Trace:
 <TASK>
 usb_probe_interface+0x5c2/0xaf0 drivers/usb/core/driver.c:396
 call_driver_probe drivers/base/dd.c:-1 [inline]
 really_probe+0x247/0xae0 drivers/base/dd.c:717
 __driver_probe_device+0x1f5/0x390 drivers/base/dd.c:879
 driver_probe_device+0x4f/0x420 drivers/base/dd.c:909
 __device_attach_driver+0x2ca/0x510 drivers/base/dd.c:1037
 bus_for_each_drv+0x252/0x2e0 drivers/base/bus.c:459
 __device_attach+0x2c1/0x420 drivers/base/dd.c:1109
 bus_probe_device+0x180/0x260 drivers/base/bus.c:580
 device_add+0x87c/0xc40 drivers/base/core.c:3700
 usb_set_configuration+0x1ad0/0x2150 drivers/usb/core/message.c:2265
 usb_generic_driver_probe+0x8d/0x150 drivers/usb/core/generic.c:238
 usb_probe_device+0x12a/0x260 drivers/usb/core/driver.c:293
 call_driver_probe drivers/base/dd.c:-1 [inline]
 really_probe+0x247/0xae0 drivers/base/dd.c:717
 __driver_probe_device+0x1f5/0x390 drivers/base/dd.c:879
 driver_probe_device+0x4f/0x420 drivers/base/dd.c:909
 __device_attach_driver+0x2ca/0x510 drivers/base/dd.c:1037
 bus_for_each_drv+0x252/0x2e0 drivers/base/bus.c:459
 __device_attach+0x2c1/0x420 drivers/base/dd.c:1109
 bus_probe_device+0x180/0x260 drivers/base/bus.c:580
 device_add+0x87c/0xc40 drivers/base/core.c:3700
 usb_new_device+0x995/0x1550 drivers/usb/core/hub.c:2660
 hub_port_connect drivers/usb/core/hub.c:5529 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5669 [inline]
 port_event drivers/usb/core/hub.c:5833 [inline]
 hub_event+0x29d5/0x4a80 drivers/usb/core/hub.c:5915
 process_one_work kernel/workqueue.c:2653 [inline]
 process_scheduled_works+0xa60/0x1600 kernel/workqueue.c:2730
 worker_thread+0xa5e/0xfe0 kernel/workqueue.c:2811
 kthread+0x2fa/0x390 kernel/kthread.c:388
 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:ihex_binrec_size include/linux/ihex.h:26 [inline]
RIP: 0010:__ihex_next_binrec include/linux/ihex.h:35 [inline]
RIP: 0010:ihex_validate_fw include/linux/ihex.h:54 [inline]
RIP: 0010:request_ihex_firmware include/linux/ihex.h:74 [inline]
RIP: 0010:emi26_load_firmware drivers/usb/misc/emi26.c:86 [inline]
RIP: 0010:emi26_probe+0x281/0x1660 drivers/usb/misc/emi26.c:232
Code: ff 89 de e8 01 9c ff f6 85 db 0f 84 d5 01 00 00 e8 d4 98 ff f6 48 bb 00 00 00 00 00 fc ff df 49 8d 7e 04 48 89 f8 48 c1 e8 03 <0f> b6 04 18 84 c0 75 47 49 8d 7e 05 48 89 f8 48 c1 e8 03 0f b6 04
RSP: 0018:ffffc9000377ee60 EFLAGS: 00010247
RAX: 0000000000000000 RBX: dffffc0000000000 RCX: ffff88802166da00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: ffffc9000377efa0 R08: ffffffff911eb577 R09: 1ffffffff223d6ae
R10: dffffc0000000000 R11: fffffbfff223d6af R12: fffffffffffffffa
R13: 1fffffffffffffff R14: 0000000000000000 R15: 1fffffffffffffff
FS:  0000000000000000(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f801c7eb700 CR3: 0000000018ef8000 CR4: 00000000003506e0
----------------
Code disassembly (best guess):
   0:	ff 89 de e8 01 9c    	decl   -0x63fe1722(%rcx)
   6:	ff f6                	push   %rsi
   8:	85 db                	test   %ebx,%ebx
   a:	0f 84 d5 01 00 00    	je     0x1e5
  10:	e8 d4 98 ff f6       	call   0xf6ff98e9
  15:	48 bb 00 00 00 00 00 	movabs $0xdffffc0000000000,%rbx
  1c:	fc ff df
  1f:	49 8d 7e 04          	lea    0x4(%r14),%rdi
  23:	48 89 f8             	mov    %rdi,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	0f b6 04 18          	movzbl (%rax,%rbx,1),%eax <-- trapping instruction
  2e:	84 c0                	test   %al,%al
  30:	75 47                	jne    0x79
  32:	49 8d 7e 05          	lea    0x5(%r14),%rdi
  36:	48 89 f8             	mov    %rdi,%rax
  39:	48 c1 e8 03          	shr    $0x3,%rax
  3d:	0f                   	.byte 0xf
  3e:	b6 04                	mov    $0x4,%dh

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/02 21:25 linux-6.6.y a1153c0deb44 e611ffe1 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan general protection fault in emi26_probe
2026/07/28 23:05 linux-6.6.y c5596480c50e edc8a875 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan general protection fault in emi26_probe
* Struck through repros no longer work on HEAD.