Re: [syzbot] [usb?] general protection fault in emi26_probe
syzbot <[email protected]> Sun, 02 Aug 2026 20:11:29 -0700
| Newsgroups | org.kernel.vger.linux-usb,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
syzbot has found a reproducer for the following issue on: HEAD commit: bd1dde877520 Merge tag 'vfs-7.2-rc6.fixes' of git://git.ke.. git tree: upstream console+strace: https://syzkaller.appspot.com/x/log.txt?x=16dc9db9580000 kernel config: https://syzkaller.appspot.com/x/.config?x=4e38b15c29e6a1d9 dashboard link: https://syzkaller.appspot.com/bug?extid=baf3cbba7dd980984f0d compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1586bdb9580000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=135fc649580000 Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/20f437bd50f0/disk-bd1dde87.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/9db904668b53/vmlinux-bd1dde87.xz kernel image: https://storage.googleapis.com/syzbot-assets/1d7a8c9447b0/bzImage-bd1dde87.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: [email protected] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 1 UID: 0 PID: 24 Comm: kworker/1:0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/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+0x283/0x1690 drivers/usb/misc/emi26.c:232 Code: ff 89 de e8 bf 9d 98 00 85 db 0f 84 d9 01 00 00 e8 12 9a 98 00 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:ffffc900001e6d60 EFLAGS: 00010257 RAX: 0000000000000000 RBX: dffffc0000000000 RCX: ffff88801e685d00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004 RBP: ffffc900001e6e90 R08: ffffffff90579d37 R09: 1ffffffff20af3a6 R10: dffffc0000000000 R11: fffffbfff20af3a7 R12: fffffffffffffffa R13: 1fffffffffffffff R14: 0000000000000000 R15: 1fffffffffffffff FS: 0000000000000000(0000) GS:ffff88812504b000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fb3098d0a60 CR3: 0000000028671000 CR4: 0000000000350ef0 Call Trace: <TASK> usb_probe_interface+0x653/0xc60 drivers/usb/core/driver.c:396 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x254/0xae0 drivers/base/dd.c:706 __driver_probe_device+0x1e8/0x360 drivers/base/dd.c:868 driver_probe_device+0x4f/0x240 drivers/base/dd.c:898 __device_attach_driver+0x270/0x410 drivers/base/dd.c:1026 bus_for_each_drv+0x258/0x2f0 drivers/base/bus.c:500 __device_attach+0x2c4/0x450 drivers/base/dd.c:1098 device_initial_probe+0xa1/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x12a/0x220 drivers/base/bus.c:620 device_add+0x7d7/0xb80 drivers/base/core.c:3772 usb_set_configuration+0x1ad8/0x2180 drivers/usb/core/message.c:2268 usb_generic_driver_probe+0x8d/0x150 drivers/usb/core/generic.c:250 usb_probe_device+0x1c3/0x3b0 drivers/usb/core/driver.c:291 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x254/0xae0 drivers/base/dd.c:706 __driver_probe_device+0x1e8/0x360 drivers/base/dd.c:868 driver_probe_device+0x4f/0x240 drivers/base/dd.c:898 __device_attach_driver+0x270/0x410 drivers/base/dd.c:1026 bus_for_each_drv+0x258/0x2f0 drivers/base/bus.c:500 __device_attach+0x2c4/0x450 drivers/base/dd.c:1098 device_initial_probe+0xa1/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x12a/0x220 drivers/base/bus.c:620 device_add+0x7d7/0xb80 drivers/base/core.c:3772 usb_new_device+0x99d/0x1620 drivers/usb/core/hub.c:2695 hub_port_connect drivers/usb/core/hub.c:5567 [inline] hub_port_connect_change drivers/usb/core/hub.c:5707 [inline] port_event drivers/usb/core/hub.c:5871 [inline] hub_event+0x28e8/0x4d30 drivers/usb/core/hub.c:5953 process_one_work kernel/workqueue.c:3322 [inline] process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3486 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 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: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+0x283/0x1690 drivers/usb/misc/emi26.c:232 Code: ff 89 de e8 bf 9d 98 00 85 db 0f 84 d9 01 00 00 e8 12 9a 98 00 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:ffffc900001e6d60 EFLAGS: 00010257 RAX: 0000000000000000 RBX: dffffc0000000000 RCX: ffff88801e685d00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004 RBP: ffffc900001e6e90 R08: ffffffff90579d37 R09: 1ffffffff20af3a6 R10: dffffc0000000000 R11: fffffbfff20af3a7 R12: fffffffffffffffa R13: 1fffffffffffffff R14: 0000000000000000 R15: 1fffffffffffffff FS: 0000000000000000(0000) GS:ffff88812504b000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055f773fefbf0 CR3: 00000000351a6000 CR4: 0000000000350ef0 ---------------- Code disassembly (best guess): 0: ff 89 de e8 bf 9d decl -0x62401722(%rcx) 6: 98 cwtl 7: 00 85 db 0f 84 d9 add %al,-0x267bf025(%rbp) d: 01 00 add %eax,(%rax) f: 00 e8 add %ch,%al 11: 12 9a 98 00 48 bb adc -0x44b7ff68(%rdx),%bl 17: 00 00 add %al,(%rax) 19: 00 00 add %al,(%rax) 1b: 00 fc add %bh,%ah 1d: ff lcall (bad) 1e: df 49 8d fisttps -0x73(%rcx) 21: 7e 04 jle 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 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 --- If you want syzbot to run the reproducer, reply with: #syz test: git://repo/address.git branch-or-commit-hash If you attach or paste a git patch, syzbot will apply it before testing.