syzbot


UBSAN: array-index-out-of-bounds in aiptek_irq

Status: upstream: reported C repro on 2026/06/10 13:22
Reported-by: syzbot+36b4693f9f44057362ba@syzkaller.appspotmail.com
First crash: 3d05h, last: 2d10h
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 UBSAN: array-index-out-of-bounds in aiptek_irq 15 C 8 41m 2d22h 0/3 upstream: reported C repro on 2026/06/10 19:26
android-6-1 UBSAN: array-index-out-of-bounds in aiptek_irq origin:upstream 15 C 26 2h23m 3d02h 0/2 upstream: reported C repro on 2026/06/10 15:23
linux-6.6 UBSAN: array-index-out-of-bounds in aiptek_irq 15 7 1h44m 2d21h 0/2 upstream: reported on 2026/06/10 20:15
android-6-12 UBSAN: array-index-out-of-bounds in aiptek_irq 15 C 80 20m 3d05h 0/1 premoderation: reported C repro on 2026/06/10 12:41
linux-5.15 UBSAN: array-index-out-of-bounds in aiptek_irq origin:lts-only 15 C 3 3h31m 3d00h 0/3 upstream: reported C repro on 2026/06/10 17:51
android-5-15 UBSAN: array-index-out-of-bounds in aiptek_irq 15 C 6 7h38m 2d11h 0/2 upstream: reported C repro on 2026/06/11 06:49

Sample crash report:
================================================================================
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:741:31
index 547 is out of range for type 'const int[34]'
CPU: 0 PID: 0 Comm: swapper/0 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
 <IRQ>
 __dump_stack+0x21/0x24 lib/dump_stack.c:77
 dump_stack_lvl+0x1a7/0x208 lib/dump_stack.c:118
 dump_stack+0x15/0x1c lib/dump_stack.c:135
 ubsan_epilogue+0xe/0x40 lib/ubsan.c:148
 __ubsan_handle_out_of_bounds+0xdf/0xf0 lib/ubsan.c:347
 aiptek_irq+0x1fdf/0x2860 drivers/input/tablet/aiptek.c:741
 __usb_hcd_giveback_urb+0x333/0x4f0 drivers/usb/core/hcd.c:1674
 usb_hcd_giveback_urb+0x119/0x410 drivers/usb/core/hcd.c:1748
 dummy_timer+0x8be/0x30e0 drivers/usb/gadget/udc/dummy_hcd.c:1986
 call_timer_fn+0x38/0x290 kernel/time/timer.c:1450
 expire_timers kernel/time/timer.c:1495 [inline]
 __run_timers+0x650/0x9e0 kernel/time/timer.c:1789
 run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
 __do_softirq+0x255/0x563 kernel/softirq.c:309
 asm_call_irq_on_stack+0xf/0x20
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:405 [inline]
 __irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
 irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
 sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 44 2a 00 00 49 bd 00 00 00 00 00 fc ff df e9 67 ff ff ff e8 d0 f7 fa ff 55 48 89 e5 0f 1f 44 00 00 0f 00 2d b0 f6 61 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffffff86407d78 EFLAGS: 00000242
RAX: ffff8881f7000000 RBX: ffffffff8641c100 RCX: 00000000000072f6
RDX: 0000000000000001 RSI: ffffffff85409040 RDI: ffffffff85409000
RBP: ffffffff86407d78 R08: ffff8881f70573d3 R09: 1ffff1103ee0ae7a
R10: dffffc0000000000 R11: ffffed103ee0ae7b R12: 0000000000000000
R13: 1ffffffff0c83820 R14: dffffc0000000000 R15: dffffc0000000000
 arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
 default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
 cpuidle_idle_call kernel/sched/idle.c:204 [inline]
 do_idle+0x217/0x620 kernel/sched/idle.c:328
 cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:425
 rest_init+0xe8/0xf0 init/main.c:728
 arch_call_rest_init+0xe/0x10 init/main.c:853
 start_kernel+0x431/0x49f init/main.c:1055
 x86_64_start_reservations+0x2a/0x2c arch/x86/kernel/head64.c:519
 x86_64_start_kernel+0x60/0x63 arch/x86/kernel/head64.c:500
 secondary_startup_64_no_verify+0xad/0xbb
================================================================================
==================================================================
BUG: KASAN: global-out-of-bounds in aiptek_irq+0x1ffd/0x2860 drivers/input/tablet/aiptek.c:741
Read of size 4 at addr ffffffff855b380c by task swapper/0/0

CPU: 0 PID: 0 Comm: swapper/0 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
 <IRQ>
 __dump_stack+0x21/0x24 lib/dump_stack.c:77
 dump_stack_lvl+0x1a7/0x208 lib/dump_stack.c:118
 print_address_description+0x7f/0x2c0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:435 [inline]
 kasan_report+0xe2/0x130 mm/kasan/report.c:452
 __asan_report_load4_noabort+0x14/0x20 mm/kasan/report_generic.c:308
 aiptek_irq+0x1ffd/0x2860 drivers/input/tablet/aiptek.c:741
 __usb_hcd_giveback_urb+0x333/0x4f0 drivers/usb/core/hcd.c:1674
 usb_hcd_giveback_urb+0x119/0x410 drivers/usb/core/hcd.c:1748
 dummy_timer+0x8be/0x30e0 drivers/usb/gadget/udc/dummy_hcd.c:1986
 call_timer_fn+0x38/0x290 kernel/time/timer.c:1450
 expire_timers kernel/time/timer.c:1495 [inline]
 __run_timers+0x650/0x9e0 kernel/time/timer.c:1789
 run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
 __do_softirq+0x255/0x563 kernel/softirq.c:309
 asm_call_irq_on_stack+0xf/0x20
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:405 [inline]
 __irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
 irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
 sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 44 2a 00 00 49 bd 00 00 00 00 00 fc ff df e9 67 ff ff ff e8 d0 f7 fa ff 55 48 89 e5 0f 1f 44 00 00 0f 00 2d b0 f6 61 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffffff86407d78 EFLAGS: 00000242
RAX: ffff8881f7000000 RBX: ffffffff8641c100 RCX: 00000000000072f6
RDX: 0000000000000001 RSI: ffffffff85409040 RDI: ffffffff85409000
RBP: ffffffff86407d78 R08: ffff8881f70573d3 R09: 1ffff1103ee0ae7a
R10: dffffc0000000000 R11: ffffed103ee0ae7b R12: 0000000000000000
R13: 1ffffffff0c83820 R14: dffffc0000000000 R15: dffffc0000000000
 arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
 default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
 cpuidle_idle_call kernel/sched/idle.c:204 [inline]
 do_idle+0x217/0x620 kernel/sched/idle.c:328
 cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:425
 rest_init+0xe8/0xf0 init/main.c:728
 arch_call_rest_init+0xe/0x10 init/main.c:853
 start_kernel+0x431/0x49f init/main.c:1055
 x86_64_start_reservations+0x2a/0x2c arch/x86/kernel/head64.c:519
 x86_64_start_kernel+0x60/0x63 arch/x86/kernel/head64.c:500
 secondary_startup_64_no_verify+0xad/0xbb

The buggy address belongs to the variable:
 .str.57+0xc/0x20

Memory state around the buggy address:
 ffffffff855b3700: 04 f9 f9 f9 00 f9 f9 f9 06 f9 f9 f9 07 f9 f9 f9
 ffffffff855b3780: 06 f9 f9 f9 00 04 f9 f9 05 f9 f9 f9 00 03 f9 f9
>ffffffff855b3800: 00 03 f9 f9 00 00 00 00 03 f9 f9 f9 f9 f9 f9 f9
                      ^
 ffffffff855b3880: 00 00 00 00 03 f9 f9 f9 f9 f9 f9 f9 00 00 00 00
 ffffffff855b3900: 01 f9 f9 f9 f9 f9 f9 f9 00 00 00 00 f9 f9 f9 f9
==================================================================
================================================================================
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:763:30
index 548 is out of range for type 'const int[34]'
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G    B             syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
 <IRQ>
 __dump_stack+0x21/0x24 lib/dump_stack.c:77
 dump_stack_lvl+0x1a7/0x208 lib/dump_stack.c:118
 dump_stack+0x15/0x1c lib/dump_stack.c:135
 ubsan_epilogue+0xe/0x40 lib/ubsan.c:148
 __ubsan_handle_out_of_bounds+0xdf/0xf0 lib/ubsan.c:347
 aiptek_irq+0x1ebf/0x2860 drivers/input/tablet/aiptek.c:763
 __usb_hcd_giveback_urb+0x333/0x4f0 drivers/usb/core/hcd.c:1674
 usb_hcd_giveback_urb+0x119/0x410 drivers/usb/core/hcd.c:1748
 dummy_timer+0x8be/0x30e0 drivers/usb/gadget/udc/dummy_hcd.c:1986
 call_timer_fn+0x38/0x290 kernel/time/timer.c:1450
 expire_timers kernel/time/timer.c:1495 [inline]
 __run_timers+0x650/0x9e0 kernel/time/timer.c:1789
 run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
 __do_softirq+0x255/0x563 kernel/softirq.c:309
 asm_call_irq_on_stack+0xf/0x20
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:405 [inline]
 __irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
 irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
 sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 44 2a 00 00 49 bd 00 00 00 00 00 fc ff df e9 67 ff ff ff e8 d0 f7 fa ff 55 48 89 e5 0f 1f 44 00 00 0f 00 2d b0 f6 61 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffffff86407d78 EFLAGS: 00000242
RAX: ffff8881f7000000 RBX: ffffffff8641c100 RCX: 00000000000072f6
RDX: 0000000000000001 RSI: ffffffff85409040 RDI: ffffffff85409000
RBP: ffffffff86407d78 R08: ffff8881f70573d3 R09: 1ffff1103ee0ae7a
R10: dffffc0000000000 R11: ffffed103ee0ae7b R12: 0000000000000000
R13: 1ffffffff0c83820 R14: dffffc0000000000 R15: dffffc0000000000
 arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
 default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
 cpuidle_idle_call kernel/sched/idle.c:204 [inline]
 do_idle+0x217/0x620 kernel/sched/idle.c:328
 cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:425
 rest_init+0xe8/0xf0 init/main.c:728
 arch_call_rest_init+0xe/0x10 init/main.c:853
 start_kernel+0x431/0x49f init/main.c:1055
 x86_64_start_reservations+0x2a/0x2c arch/x86/kernel/head64.c:519
 x86_64_start_kernel+0x60/0x63 arch/x86/kernel/head64.c:500
 secondary_startup_64_no_verify+0xad/0xbb
================================================================================
----------------
Code disassembly (best guess), 2 bytes skipped:
   0:	00 00                	add    %al,(%rax)
   2:	49 bd 00 00 00 00 00 	movabs $0xdffffc0000000000,%r13
   9:	fc ff df
   c:	e9 67 ff ff ff       	jmp    0xffffff78
  11:	e8 d0 f7 fa ff       	call   0xfffaf7e6
  16:	55                   	push   %rbp
  17:	48 89 e5             	mov    %rsp,%rbp
  1a:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  1f:	0f 00 2d b0 f6 61 00 	verw   0x61f6b0(%rip)        # 0x61f6d6
  26:	fb                   	sti
  27:	f4                   	hlt
* 28:	5d                   	pop    %rbp <-- trapping instruction
  29:	c3                   	ret
  2a:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
  31:	00 00 00
  34:	66 90                	xchg   %ax,%ax
  36:	55                   	push   %rbp
  37:	48 89 e5             	mov    %rsp,%rbp
  3a:	41 57                	push   %r15
  3c:	41 56                	push   %r14

Crashes (15):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/06/11 07:38 android13-5.10-lts d11359bcf2ac b754d2d8 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 23:13 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 14:28 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 13:58 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 13:34 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 13:11 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/11 06:17 android13-5.10-lts d11359bcf2ac b754d2d8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/11 06:17 android13-5.10-lts d11359bcf2ac b754d2d8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 12:48 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 12:48 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 12:47 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 12:47 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 12:47 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 12:47 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 12:47 android13-5.10-lts d11359bcf2ac f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq
* Struck through repros no longer work on HEAD.