UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:741:31
index 65092 is out of range for type 'const int[34]'
CPU: 1 PID: 1359 Comm: syz.3.413 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
__dump_stack+0x21/0x24 lib/dump_stack.c:88
dump_stack_lvl+0x110/0x170 lib/dump_stack.c:106
dump_stack+0x15/0x24 lib/dump_stack.c:113
ubsan_epilogue+0xe/0x40 lib/ubsan.c:151
__ubsan_handle_out_of_bounds+0xdf/0xf0 lib/ubsan.c:282
aiptek_irq+0x2045/0x29b0 drivers/input/tablet/aiptek.c:741
__usb_hcd_giveback_urb+0x360/0x520 drivers/usb/core/hcd.c:1675
usb_hcd_giveback_urb+0x11f/0x3e0 drivers/usb/core/hcd.c:1758
dummy_timer+0xa25/0x3270 drivers/usb/gadget/udc/dummy_hcd.c:2004
__run_hrtimer kernel/time/hrtimer.c:1685 [inline]
__hrtimer_run_queues+0x398/0x890 kernel/time/hrtimer.c:1749
hrtimer_run_softirq+0x19b/0x260 kernel/time/hrtimer.c:1766
handle_softirqs+0x1d7/0x600 kernel/softirq.c:642
__do_softirq kernel/softirq.c:680 [inline]
invoke_softirq kernel/softirq.c:497 [inline]
__irq_exit_rcu+0x52/0xf0 kernel/softirq.c:729
irq_exit_rcu+0x9/0x10 kernel/softirq.c:741
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
sysvec_apic_timer_interrupt+0xa9/0xc0 arch/x86/kernel/apic/apic.c:1118
asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x60 kernel/kcov.c:209
Code: 89 fb e8 23 00 00 00 48 8b 3d bc 7c 21 06 48 89 de e8 f4 d1 44 00 5b 5d c3 00 90 90 90 90 90 90 90 90 90 90 90 b8 0c 67 40 a5 <55> 48 89 e5 48 8b 45 08 65 48 8b 0d 70 07 91 7e 65 8b 15 71 07 91
RSP: 0018:ffffc9001039f3d8 EFLAGS: 00000246
RAX: 0000000000800000 RBX: 1ffffd40008bcd59 RCX: 0000000000000000
RDX: ffff88812171e540 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc9001039f5b0 R08: ffff88812171e547 R09: 1ffff110242e3ca8
R10: dffffc0000000000 R11: ffffed10242e3ca9 R12: ffffea00045e6ac8
R13: ffff8881218e07c4 R14: 0000000000000000 R15: ffffea00045e6ac0
unmap_single_vma mm/memory.c:1716 [inline]
unmap_vmas+0x34c/0x480 mm/memory.c:1756
exit_mmap+0x2a4/0xc10 mm/mmap.c:3371
__mmput+0x92/0x340 kernel/fork.c:1319
mmput+0x4b/0x150 kernel/fork.c:1343
exit_mm kernel/exit.c:569 [inline]
do_exit+0xa51/0x2850 kernel/exit.c:874
do_group_exit+0x21b/0x2e0 kernel/exit.c:1030
get_signal+0x167c/0x1700 kernel/signal.c:2895
arch_do_signal_or_restart+0xd1/0x11c0 arch/x86/kernel/signal.c:871
exit_to_user_mode_loop+0x7a/0xb0 kernel/entry/common.c:174
exit_to_user_mode_prepare+0x87/0xd0 kernel/entry/common.c:210
__syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline]
syscall_exit_to_user_mode+0x1a/0x30 kernel/entry/common.c:303
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f5cdbf9e0d9
Code: Unable to access opcode bytes at 0x7f5cdbf9e0af.
RSP: 002b:00007f5cdcec60e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007f5cdc225fa8 RCX: 00007f5cdbf9e0d9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f5cdc225fa8
RBP: 00007f5cdc225fa0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f5cdc226038 R14: 00007ffeffad54b0 R15: 00007ffeffad5598
================================================================================
==================================================================
BUG: KASAN: global-out-of-bounds in aiptek_irq+0x2063/0x29b0 drivers/input/tablet/aiptek.c:741
Read of size 4 at addr ffffffff85ea4e10 by task syz.3.413/1359
CPU: 1 PID: 1359 Comm: syz.3.413 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
__dump_stack+0x21/0x24 lib/dump_stack.c:88
dump_stack_lvl+0x110/0x170 lib/dump_stack.c:106
print_address_description+0x71/0x200 mm/kasan/report.c:316
print_report+0x4a/0x60 mm/kasan/report.c:420
kasan_report+0x122/0x150 mm/kasan/report.c:524
__asan_report_load4_noabort+0x14/0x20 mm/kasan/report_generic.c:350
aiptek_irq+0x2063/0x29b0 drivers/input/tablet/aiptek.c:741
__usb_hcd_giveback_urb+0x360/0x520 drivers/usb/core/hcd.c:1675
usb_hcd_giveback_urb+0x11f/0x3e0 drivers/usb/core/hcd.c:1758
dummy_timer+0xa25/0x3270 drivers/usb/gadget/udc/dummy_hcd.c:2004
__run_hrtimer kernel/time/hrtimer.c:1685 [inline]
__hrtimer_run_queues+0x398/0x890 kernel/time/hrtimer.c:1749
hrtimer_run_softirq+0x19b/0x260 kernel/time/hrtimer.c:1766
handle_softirqs+0x1d7/0x600 kernel/softirq.c:642
__do_softirq kernel/softirq.c:680 [inline]
invoke_softirq kernel/softirq.c:497 [inline]
__irq_exit_rcu+0x52/0xf0 kernel/softirq.c:729
irq_exit_rcu+0x9/0x10 kernel/softirq.c:741
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
sysvec_apic_timer_interrupt+0xa9/0xc0 arch/x86/kernel/apic/apic.c:1118
asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x60 kernel/kcov.c:209
Code: 89 fb e8 23 00 00 00 48 8b 3d bc 7c 21 06 48 89 de e8 f4 d1 44 00 5b 5d c3 00 90 90 90 90 90 90 90 90 90 90 90 b8 0c 67 40 a5 <55> 48 89 e5 48 8b 45 08 65 48 8b 0d 70 07 91 7e 65 8b 15 71 07 91
RSP: 0018:ffffc9001039f3d8 EFLAGS: 00000246
RAX: 0000000000800000 RBX: 1ffffd40008bcd59 RCX: 0000000000000000
RDX: ffff88812171e540 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc9001039f5b0 R08: ffff88812171e547 R09: 1ffff110242e3ca8
R10: dffffc0000000000 R11: ffffed10242e3ca9 R12: ffffea00045e6ac8
R13: ffff8881218e07c4 R14: 0000000000000000 R15: ffffea00045e6ac0
unmap_single_vma mm/memory.c:1716 [inline]
unmap_vmas+0x34c/0x480 mm/memory.c:1756
exit_mmap+0x2a4/0xc10 mm/mmap.c:3371
__mmput+0x92/0x340 kernel/fork.c:1319
mmput+0x4b/0x150 kernel/fork.c:1343
exit_mm kernel/exit.c:569 [inline]
do_exit+0xa51/0x2850 kernel/exit.c:874
do_group_exit+0x21b/0x2e0 kernel/exit.c:1030
get_signal+0x167c/0x1700 kernel/signal.c:2895
arch_do_signal_or_restart+0xd1/0x11c0 arch/x86/kernel/signal.c:871
exit_to_user_mode_loop+0x7a/0xb0 kernel/entry/common.c:174
exit_to_user_mode_prepare+0x87/0xd0 kernel/entry/common.c:210
__syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline]
syscall_exit_to_user_mode+0x1a/0x30 kernel/entry/common.c:303
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f5cdbf9e0d9
Code: Unable to access opcode bytes at 0x7f5cdbf9e0af.
RSP: 002b:00007f5cdcec60e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007f5cdc225fa8 RCX: 00007f5cdbf9e0d9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f5cdc225fa8
RBP: 00007f5cdc225fa0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f5cdc226038 R14: 00007ffeffad54b0 R15: 00007ffeffad5598
The buggy address belongs to the variable:
.str.111+0x50/0x60
The buggy address belongs to the physical page:
page:ffffea000017a900 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x5ea4
flags: 0x1000(reserved|zone=0)
raw: 0000000000001000 ffffea000017a908 ffffea000017a908 0000000000000000
raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner info is not present (never set?)
Memory state around the buggy address:
ffffffff85ea4d00: 01 f9 f9 f9 00 00 00 00 00 00 00 f9 f9 f9 f9 f9
ffffffff85ea4d80: 00 f9 f9 f9 00 f9 f9 f9 00 00 00 00 00 00 00 01
>ffffffff85ea4e00: f9 f9 f9 f9 00 00 00 00 00 00 03 f9 f9 f9 f9 f9
^
ffffffff85ea4e80: 00 00 00 00 00 00 07 f9 f9 f9 f9 f9 00 00 00 00
ffffffff85ea4f00: 00 00 00 00 07 f9 f9 f9 f9 f9 f9 f9 00 00 00 00
==================================================================
================================================================================
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:763:30
index 65093 is out of range for type 'const int[34]'
CPU: 1 PID: 1359 Comm: syz.3.413 Tainted: G B syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
__dump_stack+0x21/0x24 lib/dump_stack.c:88
dump_stack_lvl+0x110/0x170 lib/dump_stack.c:106
dump_stack+0x15/0x24 lib/dump_stack.c:113
ubsan_epilogue+0xe/0x40 lib/ubsan.c:151
__ubsan_handle_out_of_bounds+0xdf/0xf0 lib/ubsan.c:282
aiptek_irq+0x1f14/0x29b0 drivers/input/tablet/aiptek.c:763
__usb_hcd_giveback_urb+0x360/0x520 drivers/usb/core/hcd.c:1675
usb_hcd_giveback_urb+0x11f/0x3e0 drivers/usb/core/hcd.c:1758
dummy_timer+0xa25/0x3270 drivers/usb/gadget/udc/dummy_hcd.c:2004
__run_hrtimer kernel/time/hrtimer.c:1685 [inline]
__hrtimer_run_queues+0x398/0x890 kernel/time/hrtimer.c:1749
hrtimer_run_softirq+0x19b/0x260 kernel/time/hrtimer.c:1766
handle_softirqs+0x1d7/0x600 kernel/softirq.c:642
__do_softirq kernel/softirq.c:680 [inline]
invoke_softirq kernel/softirq.c:497 [inline]
__irq_exit_rcu+0x52/0xf0 kernel/softirq.c:729
irq_exit_rcu+0x9/0x10 kernel/softirq.c:741
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
sysvec_apic_timer_interrupt+0xa9/0xc0 arch/x86/kernel/apic/apic.c:1118
asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x60 kernel/kcov.c:209
Code: 89 fb e8 23 00 00 00 48 8b 3d bc 7c 21 06 48 89 de e8 f4 d1 44 00 5b 5d c3 00 90 90 90 90 90 90 90 90 90 90 90 b8 0c 67 40 a5 <55> 48 89 e5 48 8b 45 08 65 48 8b 0d 70 07 91 7e 65 8b 15 71 07 91
RSP: 0018:ffffc9001039f3d8 EFLAGS: 00000246
RAX: 0000000000800000 RBX: 1ffffd40008bcd59 RCX: 0000000000000000
RDX: ffff88812171e540 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc9001039f5b0 R08: ffff88812171e547 R09: 1ffff110242e3ca8
R10: dffffc0000000000 R11: ffffed10242e3ca9 R12: ffffea00045e6ac8
R13: ffff8881218e07c4 R14: 0000000000000000 R15: ffffea00045e6ac0
unmap_single_vma mm/memory.c:1716 [inline]
unmap_vmas+0x34c/0x480 mm/memory.c:1756
exit_mmap+0x2a4/0xc10 mm/mmap.c:3371
__mmput+0x92/0x340 kernel/fork.c:1319
mmput+0x4b/0x150 kernel/fork.c:1343
exit_mm kernel/exit.c:569 [inline]
do_exit+0xa51/0x2850 kernel/exit.c:874
do_group_exit+0x21b/0x2e0 kernel/exit.c:1030
get_signal+0x167c/0x1700 kernel/signal.c:2895
arch_do_signal_or_restart+0xd1/0x11c0 arch/x86/kernel/signal.c:871
exit_to_user_mode_loop+0x7a/0xb0 kernel/entry/common.c:174
exit_to_user_mode_prepare+0x87/0xd0 kernel/entry/common.c:210
__syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline]
syscall_exit_to_user_mode+0x1a/0x30 kernel/entry/common.c:303
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f5cdbf9e0d9
Code: Unable to access opcode bytes at 0x7f5cdbf9e0af.
RSP: 002b:00007f5cdcec60e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007f5cdc225fa8 RCX: 00007f5cdbf9e0d9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f5cdc225fa8
RBP: 00007f5cdc225fa0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f5cdc226038 R14: 00007ffeffad54b0 R15: 00007ffeffad5598
================================================================================
aiptek 1-1:0.0: aiptek_irq - usb_submit_urb failed with result -19
----------------
Code disassembly (best guess):
0: 89 fb mov %edi,%ebx
2: e8 23 00 00 00 call 0x2a
7: 48 8b 3d bc 7c 21 06 mov 0x6217cbc(%rip),%rdi # 0x6217cca
e: 48 89 de mov %rbx,%rsi
11: e8 f4 d1 44 00 call 0x44d20a
16: 5b pop %rbx
17: 5d pop %rbp
18: c3 ret
19: 00 90 90 90 90 90 add %dl,-0x6f6f6f70(%rax)
1f: 90 nop
20: 90 nop
21: 90 nop
22: 90 nop
23: 90 nop
24: 90 nop
25: b8 0c 67 40 a5 mov $0xa540670c,%eax
* 2a: 55 push %rbp <-- trapping instruction
2b: 48 89 e5 mov %rsp,%rbp
2e: 48 8b 45 08 mov 0x8(%rbp),%rax
32: 65 48 8b 0d 70 07 91 mov %gs:0x7e910770(%rip),%rcx # 0x7e9107aa
39: 7e
3a: 65 gs
3b: 8b .byte 0x8b
3c: 15 .byte 0x15
3d: 71 07 jno 0x46
3f: 91 xchg %eax,%ecx