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

Status: upstream: reported C repro on 2026/06/10 17:51
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+d0805b3019c91aa6f802@syzkaller.appspotmail.com
First crash: 112d, last: 30d
Fix commit to backport (bisect log) :
tree: upstream
commit 95dffe32a66cbed07fbfa7afed39d56d5014e04f
Author: Pengpeng Hou <pengpeng@iscas.ac.cn>
Date: Tue Apr 7 04:52:34 2026 +0000

  Input: aiptek - validate raw macro indices before updating state

[report pending]
  
▶ ▼ Bug presence (2)
Date Name Commit Repro Result
2026/06/11 linux-5.15.y (ToT) dc027a595035 C [report] UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/11 upstream (ToT) 9716c086c8e8 C Didn't crash
▶ ▼ 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 syz, C 170 21d 112d 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 missing-backport 15 syz, C 680 1d20h 112d 0/2 upstream: reported C repro on 2026/06/10 15:23
linux-6.6 UBSAN: array-index-out-of-bounds in aiptek_irq origin:lts-only 15 syz, C inconclusive 161 23d 112d 0/2 upstream: reported C repro on 2026/06/10 20:15
android-6-12 UBSAN: array-index-out-of-bounds in aiptek_irq origin:lts 15 syz, C 1389 19h57m 112d 0/1 premoderation: reported C repro on 2026/06/10 12:41
android-5-15 UBSAN: array-index-out-of-bounds in aiptek_irq origin:upstream missing-backport 15 syz, C 56 9d06h 111d 0/2 upstream: reported C repro on 2026/06/11 06:49
android-5-10 UBSAN: array-index-out-of-bounds in aiptek_irq 15 syz, C 71 30d 112d 0/2 upstream: reported C repro on 2026/06/10 13:22
▶ ▼ Last patch testing requests (1)
Created Duration User Patch Repo Result
2026/09/27 12:19 18m retest repro linux-5.15.y no crash job log log
▶ ▼ Fix bisection attempts (1)
Created Duration User Patch Repo Result
2026/07/13 04:26 7h03m fix candidate upstream OK (1) job log

Sample crash report:
================================================================================
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:741:31
index 21762 is out of range for type 'const int[34]'
CPU: 0 PID: 4198 Comm: syz-executor Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <IRQ>
 dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106
 ubsan_epilogue+0xa/0x30 lib/ubsan.c:151
 __ubsan_handle_out_of_bounds+0xdf/0xf0 lib/ubsan.c:282
 aiptek_irq+0x1e87/0x28f0 drivers/input/tablet/aiptek.c:741
 __usb_hcd_giveback_urb+0x35d/0x520 drivers/usb/core/hcd.c:1672
 dummy_timer+0xa47/0x34a0 drivers/usb/gadget/udc/dummy_hcd.c:2012
 call_timer_fn+0x17b/0x540 kernel/time/timer.c:1648
 expire_timers kernel/time/timer.c:1699 [inline]
 __run_timers+0x56c/0x810 kernel/time/timer.c:1970
 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1983
 handle_softirqs+0x336/0x830 kernel/softirq.c:576
 __do_softirq kernel/softirq.c:610 [inline]
 invoke_softirq kernel/softirq.c:450 [inline]
 __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:659
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:671
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
 sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1108
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:169 [inline]
RIP: 0010:_raw_spin_unlock_irq+0x25/0x40 kernel/locking/spinlock.c:202
Code: 00 00 00 66 90 53 48 89 fb 48 83 c7 18 48 8b 74 24 08 e8 5e a3 93 f7 48 89 df e8 96 7a 94 f7 e8 f1 70 b5 f7 fb bf 01 00 00 00 <e8> 66 90 88 f7 65 8b 05 d7 a7 38 76 85 c0 74 02 5b c3 e8 14 b5 36
RSP: 0018:ffffc90002fdfd10 EFLAGS: 00000282

RAX: 0430fe3810252e00 RBX: ffff8880b9139b40 RCX: 0430fe3810252e00
RDX: dffffc0000000000 RSI: ffffffff8a2b2be0 RDI: 0000000000000001
RBP: 0000000000000000 R08: ffffffff901ef0c7 R09: 1ffffffff203de18
R10: dffffc0000000000 R11: fffffbfff203de19 R12: ffffe8ffffd84e78
R13: ffff888023437800 R14: ffffe8ffffd84e00 R15: 1ffffd1ffffb09c0
 destroy_workqueue+0x529/0xb20 kernel/workqueue.c:4473
 xfs_fs_put_super+0x227/0x2b0 fs/xfs/xfs_super.c:1102
 generic_shutdown_super+0x130/0x300 fs/super.c:475
 kill_block_super+0x7c/0xe0 fs/super.c:1438
 deactivate_locked_super+0x93/0xf0 fs/super.c:335
 cleanup_mnt+0x426/0x4d0 fs/namespace.c:1148
 task_work_run+0x125/0x1a0 kernel/task_work.c:188
 tracehook_notify_resume include/linux/tracehook.h:189 [inline]
 exit_to_user_mode_loop+0x10f/0x130 kernel/entry/common.c:181
 exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:214
 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
 syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:307
 do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f9ab3b64397
Code: a2 c7 05 5c 43 25 00 00 00 00 00 eb 96 e8 e1 12 00 00 90 31 f6 e9 09 00 00 00 66 0f 1f 84 00 00 00 00 00 b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 01 c3 48 c7 c2 e8 ff ff ff f7 d8 64 89 02 b8
RSP: 002b:00007ffde1ca8528 EFLAGS: 00000246
 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 00007f9ab3bf9474 RCX: 00007f9ab3b64397
RDX: 0000000000000000 RSI: 0000000000000009 RDI: 00007ffde1ca85e0
RBP: 00007ffde1ca85e0 R08: 00007ffde1ca95e0 R09: 00000000ffffffff
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffde1ca9670
R13: 00007f9ab3bf9474 R14: 0000000000014179 R15: 00007ffde1ca96b0
 </TASK>
================================================================================
----------------
Code disassembly (best guess):
   0:	00 00                	add    %al,(%rax)
   2:	00 66 90             	add    %ah,-0x70(%rsi)
   5:	53                   	push   %rbx
   6:	48 89 fb             	mov    %rdi,%rbx
   9:	48 83 c7 18          	add    $0x18,%rdi
   d:	48 8b 74 24 08       	mov    0x8(%rsp),%rsi
  12:	e8 5e a3 93 f7       	call   0xf793a375
  17:	48 89 df             	mov    %rbx,%rdi
  1a:	e8 96 7a 94 f7       	call   0xf7947ab5
  1f:	e8 f1 70 b5 f7       	call   0xf7b57115
  24:	fb                   	sti
  25:	bf 01 00 00 00       	mov    $0x1,%edi
* 2a:	e8 66 90 88 f7       	call   0xf7889095 <-- trapping instruction
  2f:	65 8b 05 d7 a7 38 76 	mov    %gs:0x7638a7d7(%rip),%eax        # 0x7638a80d
  36:	85 c0                	test   %eax,%eax
  38:	74 02                	je     0x3c
  3a:	5b                   	pop    %rbx
  3b:	c3                   	ret
  3c:	e8                   	.byte 0xe8
  3d:	14 b5                	adc    $0xb5,%al
  3f:	36                   	ss

Crashes (22):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/31 12:56 linux-5.15.y 28c35638ec51 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/31 12:53 linux-5.15.y 28c35638ec51 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/19 23:30 linux-5.15.y 0eb903b5b519 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/19 23:29 linux-5.15.y 0eb903b5b519 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/18 08:20 linux-5.15.y aabd761612db 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/08 23:03 linux-5.15.y aabd761612db 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/08 23:02 linux-5.15.y aabd761612db 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/08 09:50 linux-5.15.y aabd761612db 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/08/08 09:50 linux-5.15.y aabd761612db 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/07/23 08:35 linux-5.15.y c86c4726e7f0 881ce5c2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/07/23 08:34 linux-5.15.y c86c4726e7f0 881ce5c2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/07/10 06:37 linux-5.15.y c86c4726e7f0 4167ee25 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/07/10 06:34 linux-5.15.y c86c4726e7f0 4167ee25 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/07/06 23:18 linux-5.15.y c86c4726e7f0 88b240e4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/22 06:15 linux-5.15.y eceeec79dbc6 43bfcdb0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/22 06:15 linux-5.15.y eceeec79dbc6 43bfcdb0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/16 20:40 linux-5.15.y dc027a595035 a3998659 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/16 20:39 linux-5.15.y dc027a595035 a3998659 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/16 20:39 linux-5.15.y dc027a595035 a3998659 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/13 14:39 linux-5.15.y dc027a595035 1d2f3589 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 22:29 linux-5.15.y dc027a595035 f79bac11 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
2026/06/10 17:50 linux-5.15.y dc027a595035 f79bac11 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan UBSAN: array-index-out-of-bounds in aiptek_irq
* Struck through repros no longer work on HEAD.