general protection fault in emi26_probe

Status: upstream: reported C repro on 2026/08/02 13:37
Reported-by: syzbot+be8b2dc9bd1a8cb974bb@syzkaller.appspotmail.com
First crash: 2d18h, last: 2d14h
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 2d19h 7d20h 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 2d05h 3d08h 0/29 upstream: reported C repro on 2026/08/02 00:00
linux-6.6 general protection fault in emi26_probe 2 syz 2 2d11h 7d09h 0/2 upstream: reported syz repro on 2026/07/28 23:05

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: 0 PID: 4352 Comm: kworker/0:7 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+0x27f/0x1740 drivers/usb/misc/emi26.c:232
Code: ff 89 de e8 73 cd bd f7 85 db 0f 84 cc 01 00 00 e8 86 ca bd f7 48 bb 00 00 00 00 00 fc ff df 49 8d 7f 04 48 89 f8 48 c1 e8 03 <0f> b6 04 18 84 c0 75 47 49 8d 7f 05 48 89 f8 48 c1 e8 03 0f b6 04
RSP: 0018:ffffc9000330ef00 EFLAGS: 00010247

RAX: 0000000000000000 RBX: dffffc0000000000 RCX: ffff8880208d8000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: ffffc9000330f030 R08: ffffffff901ee137 R09: 1ffffffff203dc26
R10: dffffc0000000000 R11: fffffbfff203dc27 R12: 1fffffffffffffff
R13: fffffffffffffffa R14: 1fffffffffffffff R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffc3672a938 CR3: 000000007ec49000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 usb_probe_interface+0x5be/0xae0 drivers/usb/core/driver.c:396
 call_driver_probe drivers/base/dd.c:-1 [inline]
 really_probe+0x276/0xc70 drivers/base/dd.c:595
 __driver_probe_device+0x1f5/0x390 drivers/base/dd.c:775
 driver_probe_device+0x4f/0x420 drivers/base/dd.c:805
 __device_attach_driver+0x2b0/0x500 drivers/base/dd.c:927
 bus_for_each_drv+0x184/0x210 drivers/base/bus.c:429
 __device_attach+0x2a7/0x480 drivers/base/dd.c:999
 bus_probe_device+0xba/0x1d0 drivers/base/bus.c:489
 device_add+0xbcf/0x1050 drivers/base/core.c:3427
 usb_set_configuration+0x19d5/0x2030 drivers/usb/core/message.c:2223
 usb_generic_driver_probe+0x89/0x150 drivers/usb/core/generic.c:238
 usb_probe_device+0x126/0x250 drivers/usb/core/driver.c:293
 call_driver_probe drivers/base/dd.c:-1 [inline]
 really_probe+0x276/0xc70 drivers/base/dd.c:595
 __driver_probe_device+0x1f5/0x390 drivers/base/dd.c:775
 driver_probe_device+0x4f/0x420 drivers/base/dd.c:805
 __device_attach_driver+0x2b0/0x500 drivers/base/dd.c:927
 bus_for_each_drv+0x184/0x210 drivers/base/bus.c:429
 __device_attach+0x2a7/0x480 drivers/base/dd.c:999
 bus_probe_device+0xba/0x1d0 drivers/base/bus.c:489
 device_add+0xbcf/0x1050 drivers/base/core.c:3427
 usb_new_device+0x9f6/0x15d0 drivers/usb/core/hub.c:2632
 hub_port_connect drivers/usb/core/hub.c:5497 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5637 [inline]
 port_event drivers/usb/core/hub.c:5799 [inline]
 hub_event+0x2b8d/0x5260 drivers/usb/core/hub.c:5881
 process_one_work+0x867/0xff0 kernel/workqueue.c:2310
 worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457
 kthread+0x42e/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
Modules linked in:
---[ end trace 6f2fc408d1be4c19 ]---
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+0x27f/0x1740 drivers/usb/misc/emi26.c:232
Code: ff 89 de e8 73 cd bd f7 85 db 0f 84 cc 01 00 00 e8 86 ca bd f7 48 bb 00 00 00 00 00 fc ff df 49 8d 7f 04 48 89 f8 48 c1 e8 03 <0f> b6 04 18 84 c0 75 47 49 8d 7f 05 48 89 f8 48 c1 e8 03 0f b6 04
RSP: 0018:ffffc9000330ef00 EFLAGS: 00010247
RAX: 0000000000000000 RBX: dffffc0000000000 RCX: ffff8880208d8000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: ffffc9000330f030 R08: ffffffff901ee137 R09: 1ffffffff203dc26
R10: dffffc0000000000 R11: fffffbfff203dc27 R12: 1fffffffffffffff
R13: fffffffffffffffa R14: 1fffffffffffffff R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000558e7f3b1000 CR3: 000000002282b000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	ff 89 de e8 73 cd    	decl   -0x328c1722(%rcx)
   6:	bd f7 85 db 0f       	mov    $0xfdb85f7,%ebp
   b:	84 cc                	test   %cl,%ah
   d:	01 00                	add    %eax,(%rax)
   f:	00 e8                	add    %ch,%al
  11:	86 ca                	xchg   %cl,%dl
  13:	bd f7 48 bb 00       	mov    $0xbb48f7,%ebp
  18:	00 00                	add    %al,(%rax)
  1a:	00 00                	add    %al,(%rax)
  1c:	fc                   	cld
  1d:	ff                   	lcall  (bad)
  1e:	df 49 8d             	fisttps -0x73(%rcx)
  21:	7f 04                	jg     0x27
  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 7f 05          	lea    0x5(%r15),%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 (9):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/02 17:58 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 16:57 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 15:49 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 14:45 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 13:43 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 13:43 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 13:41 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 13:39 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
2026/08/02 13:37 linux-5.15.y 6e2fd6534337 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in emi26_probe
* Struck through repros no longer work on HEAD.