================================================================================
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: 0 PID: 915 Comm: syz.4.157 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:_raw_spin_lock_irqsave+0x3f/0x130 kernel/locking/spinlock.c:161
Code: 00 00 00 48 89 fb 65 48 8b 04 25 28 00 00 00 48 89 44 24 60 4c 8d 7c 24 20 48 c7 04 24 b3 8a b5 41 48 c7 44 24 08 d5 95 61 86 <48> c7 44 24 10 80 fb 00 85 49 89 e4 49 c1 ec 03 48 b8 f1 f1 f1 f1
RSP: 0018:ffffc90002a670e0 EFLAGS: 00000282
RAX: a06bedd43766b400 RBX: ffffffff878e9140 RCX: 0000000000000000
RDX: ffffffff878e8c00 RSI: 0000000000000000 RDI: ffffffff878e9140
RBP: ffffc90002a67190 R08: 0000000000000981 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff5200054ce68 R12: ffffffff878e8c00
R13: ffffc90002a6769c R14: ffffffff878e8c00 R15: ffffc90002a67100
rmqueue_bulk mm/page_alloc.c:3316 [inline]
get_populated_pcp_list+0x1f2/0x2220 mm/page_alloc.c:3395
__rmqueue_pcplist mm/page_alloc.c:4032 [inline]
rmqueue_pcplist mm/page_alloc.c:4075 [inline]
rmqueue mm/page_alloc.c:4112 [inline]
get_page_from_freelist+0x524/0x2d20 mm/page_alloc.c:4583
__alloc_pages+0x1fa/0x610 mm/page_alloc.c:5930
__folio_alloc+0x12/0x40 mm/page_alloc.c:5963
__folio_alloc_node include/linux/gfp.h:245 [inline]
folio_alloc include/linux/gfp.h:274 [inline]
alloc_page_vma include/linux/gfp.h:283 [inline]
do_anonymous_page mm/memory.c:4286 [inline]
handle_pte_fault mm/memory.c:5181 [inline]
__handle_mm_fault mm/memory.c:5325 [inline]
handle_mm_fault+0x1989/0x26b0 mm/memory.c:5465
do_user_addr_fault+0x61e/0x1030 arch/x86/mm/fault.c:1372
handle_page_fault arch/x86/mm/fault.c:1464 [inline]
exc_page_fault+0x51/0xb0 arch/x86/mm/fault.c:1517
asm_exc_page_fault+0x27/0x30 arch/x86/include/asm/idtentry.h:608
RIP: 0010:copy_user_enhanced_fast_string+0xa/0x40 arch/x86/lib/copy_user_64.S:166
Code: ff c9 75 f2 89 d1 c1 e9 03 83 e2 07 f3 48 a5 89 d1 f3 a4 31 c0 0f 01 ca c3 8d 0c ca 89 ca eb 20 0f 01 cb 83 fa 40 72 38 89 d1 a4 31 c0 0f 01 ca c3 89 ca eb 0a 90 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc90002a67b00 EFLAGS: 00050246
RAX: ffffffff8266d101 RBX: 0000000000000040 RCX: 0000000000000040
RDX: 0000000000000040 RSI: ffffc90002a67d20 RDI: 000020000012d000
RBP: ffffc90002a67b30 R08: ffffc90002a67d5f R09: 1ffff9200054cfab
R10: dffffc0000000000 R11: fffff5200054cfac R12: 00007fffffffefc0
R13: 0000000000000000 R14: 000020000012d000 R15: ffffc90002a67d20
_copy_to_iter+0x3ce/0xe60 lib/iov_iter.c:528
copy_to_iter include/linux/uio.h:179 [inline]
get_random_bytes_user+0x1cd/0x3b0 drivers/char/random.c:432
__do_sys_getrandom drivers/char/random.c:1335 [inline]
__se_sys_getrandom drivers/char/random.c:1308 [inline]
__x64_sys_getrandom+0x1a2/0x2a0 drivers/char/random.c:1308
x64_sys_call+0x25f/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:319
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f60ecb9e0d9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f60ed9c4028 EFLAGS: 00000246 ORIG_RAX: 000000000000013e
RAX: ffffffffffffffda RBX: 00007f60ece25fa0 RCX: 00007f60ecb9e0d9
RDX: 0000000000000000 RSI: 00000000ffffff9a RDI: 0000200000000240
RBP: 00007f60ecc35024 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f60ece26038 R14: 00007f60ece25fa0 R15: 00007ffff56c3598
================================================================================
==================================================================
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.4.157/915
CPU: 0 PID: 915 Comm: syz.4.157 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:_raw_spin_lock_irqsave+0x3f/0x130 kernel/locking/spinlock.c:161
Code: 00 00 00 48 89 fb 65 48 8b 04 25 28 00 00 00 48 89 44 24 60 4c 8d 7c 24 20 48 c7 04 24 b3 8a b5 41 48 c7 44 24 08 d5 95 61 86 <48> c7 44 24 10 80 fb 00 85 49 89 e4 49 c1 ec 03 48 b8 f1 f1 f1 f1
RSP: 0018:ffffc90002a670e0 EFLAGS: 00000282
RAX: a06bedd43766b400 RBX: ffffffff878e9140 RCX: 0000000000000000
RDX: ffffffff878e8c00 RSI: 0000000000000000 RDI: ffffffff878e9140
RBP: ffffc90002a67190 R08: 0000000000000981 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff5200054ce68 R12: ffffffff878e8c00
R13: ffffc90002a6769c R14: ffffffff878e8c00 R15: ffffc90002a67100
rmqueue_bulk mm/page_alloc.c:3316 [inline]
get_populated_pcp_list+0x1f2/0x2220 mm/page_alloc.c:3395
__rmqueue_pcplist mm/page_alloc.c:4032 [inline]
rmqueue_pcplist mm/page_alloc.c:4075 [inline]
rmqueue mm/page_alloc.c:4112 [inline]
get_page_from_freelist+0x524/0x2d20 mm/page_alloc.c:4583
__alloc_pages+0x1fa/0x610 mm/page_alloc.c:5930
__folio_alloc+0x12/0x40 mm/page_alloc.c:5963
__folio_alloc_node include/linux/gfp.h:245 [inline]
folio_alloc include/linux/gfp.h:274 [inline]
alloc_page_vma include/linux/gfp.h:283 [inline]
do_anonymous_page mm/memory.c:4286 [inline]
handle_pte_fault mm/memory.c:5181 [inline]
__handle_mm_fault mm/memory.c:5325 [inline]
handle_mm_fault+0x1989/0x26b0 mm/memory.c:5465
do_user_addr_fault+0x61e/0x1030 arch/x86/mm/fault.c:1372
handle_page_fault arch/x86/mm/fault.c:1464 [inline]
exc_page_fault+0x51/0xb0 arch/x86/mm/fault.c:1517
asm_exc_page_fault+0x27/0x30 arch/x86/include/asm/idtentry.h:608
RIP: 0010:copy_user_enhanced_fast_string+0xa/0x40 arch/x86/lib/copy_user_64.S:166
Code: ff c9 75 f2 89 d1 c1 e9 03 83 e2 07 f3 48 a5 89 d1 f3 a4 31 c0 0f 01 ca c3 8d 0c ca 89 ca eb 20 0f 01 cb 83 fa 40 72 38 89 d1 a4 31 c0 0f 01 ca c3 89 ca eb 0a 90 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc90002a67b00 EFLAGS: 00050246
RAX: ffffffff8266d101 RBX: 0000000000000040 RCX: 0000000000000040
RDX: 0000000000000040 RSI: ffffc90002a67d20 RDI: 000020000012d000
RBP: ffffc90002a67b30 R08: ffffc90002a67d5f R09: 1ffff9200054cfab
R10: dffffc0000000000 R11: fffff5200054cfac R12: 00007fffffffefc0
R13: 0000000000000000 R14: 000020000012d000 R15: ffffc90002a67d20
_copy_to_iter+0x3ce/0xe60 lib/iov_iter.c:528
copy_to_iter include/linux/uio.h:179 [inline]
get_random_bytes_user+0x1cd/0x3b0 drivers/char/random.c:432
__do_sys_getrandom drivers/char/random.c:1335 [inline]
__se_sys_getrandom drivers/char/random.c:1308 [inline]
__x64_sys_getrandom+0x1a2/0x2a0 drivers/char/random.c:1308
x64_sys_call+0x25f/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:319
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f60ecb9e0d9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f60ed9c4028 EFLAGS: 00000246 ORIG_RAX: 000000000000013e
RAX: ffffffffffffffda RBX: 00007f60ece25fa0 RCX: 00007f60ecb9e0d9
RDX: 0000000000000000 RSI: 00000000ffffff9a RDI: 0000200000000240
RBP: 00007f60ecc35024 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f60ece26038 R14: 00007f60ece25fa0 R15: 00007ffff56c3598
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: 0 PID: 915 Comm: syz.4.157 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:_raw_spin_lock_irqsave+0x3f/0x130 kernel/locking/spinlock.c:161
Code: 00 00 00 48 89 fb 65 48 8b 04 25 28 00 00 00 48 89 44 24 60 4c 8d 7c 24 20 48 c7 04 24 b3 8a b5 41 48 c7 44 24 08 d5 95 61 86 <48> c7 44 24 10 80 fb 00 85 49 89 e4 49 c1 ec 03 48 b8 f1 f1 f1 f1
RSP: 0018:ffffc90002a670e0 EFLAGS: 00000282
RAX: a06bedd43766b400 RBX: ffffffff878e9140 RCX: 0000000000000000
RDX: ffffffff878e8c00 RSI: 0000000000000000 RDI: ffffffff878e9140
RBP: ffffc90002a67190 R08: 0000000000000981 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff5200054ce68 R12: ffffffff878e8c00
R13: ffffc90002a6769c R14: ffffffff878e8c00 R15: ffffc90002a67100
rmqueue_bulk mm/page_alloc.c:3316 [inline]
get_populated_pcp_list+0x1f2/0x2220 mm/page_alloc.c:3395
__rmqueue_pcplist mm/page_alloc.c:4032 [inline]
rmqueue_pcplist mm/page_alloc.c:4075 [inline]
rmqueue mm/page_alloc.c:4112 [inline]
get_page_from_freelist+0x524/0x2d20 mm/page_alloc.c:4583
__alloc_pages+0x1fa/0x610 mm/page_alloc.c:5930
__folio_alloc+0x12/0x40 mm/page_alloc.c:5963
__folio_alloc_node include/linux/gfp.h:245 [inline]
folio_alloc include/linux/gfp.h:274 [inline]
alloc_page_vma include/linux/gfp.h:283 [inline]
do_anonymous_page mm/memory.c:4286 [inline]
handle_pte_fault mm/memory.c:5181 [inline]
__handle_mm_fault mm/memory.c:5325 [inline]
handle_mm_fault+0x1989/0x26b0 mm/memory.c:5465
do_user_addr_fault+0x61e/0x1030 arch/x86/mm/fault.c:1372
handle_page_fault arch/x86/mm/fault.c:1464 [inline]
exc_page_fault+0x51/0xb0 arch/x86/mm/fault.c:1517
asm_exc_page_fault+0x27/0x30 arch/x86/include/asm/idtentry.h:608
RIP: 0010:copy_user_enhanced_fast_string+0xa/0x40 arch/x86/lib/copy_user_64.S:166
Code: ff c9 75 f2 89 d1 c1 e9 03 83 e2 07 f3 48 a5 89 d1 f3 a4 31 c0 0f 01 ca c3 8d 0c ca 89 ca eb 20 0f 01 cb 83 fa 40 72 38 89 d1 a4 31 c0 0f 01 ca c3 89 ca eb 0a 90 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc90002a67b00 EFLAGS: 00050246
RAX: ffffffff8266d101 RBX: 0000000000000040 RCX: 0000000000000040
RDX: 0000000000000040 RSI: ffffc90002a67d20 RDI: 000020000012d000
RBP: ffffc90002a67b30 R08: ffffc90002a67d5f R09: 1ffff9200054cfab
R10: dffffc0000000000 R11: fffff5200054cfac R12: 00007fffffffefc0
R13: 0000000000000000 R14: 000020000012d000 R15: ffffc90002a67d20
_copy_to_iter+0x3ce/0xe60 lib/iov_iter.c:528
copy_to_iter include/linux/uio.h:179 [inline]
get_random_bytes_user+0x1cd/0x3b0 drivers/char/random.c:432
__do_sys_getrandom drivers/char/random.c:1335 [inline]
__se_sys_getrandom drivers/char/random.c:1308 [inline]
__x64_sys_getrandom+0x1a2/0x2a0 drivers/char/random.c:1308
x64_sys_call+0x25f/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:319
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f60ecb9e0d9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f60ed9c4028 EFLAGS: 00000246 ORIG_RAX: 000000000000013e
RAX: ffffffffffffffda RBX: 00007f60ece25fa0 RCX: 00007f60ecb9e0d9
RDX: 0000000000000000 RSI: 00000000ffffff9a RDI: 0000200000000240
RBP: 00007f60ecc35024 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f60ece26038 R14: 00007f60ece25fa0 R15: 00007ffff56c3598
================================================================================
aiptek 2-1:0.0: aiptek_irq - usb_submit_urb failed with result -19
----------------
Code disassembly (best guess):
0: 00 00 add %al,(%rax)
2: 00 48 89 add %cl,-0x77(%rax)
5: fb sti
6: 65 48 8b 04 25 28 00 mov %gs:0x28,%rax
d: 00 00
f: 48 89 44 24 60 mov %rax,0x60(%rsp)
14: 4c 8d 7c 24 20 lea 0x20(%rsp),%r15
19: 48 c7 04 24 b3 8a b5 movq $0x41b58ab3,(%rsp)
20: 41
21: 48 c7 44 24 08 d5 95 movq $0xffffffff866195d5,0x8(%rsp)
28: 61 86
* 2a: 48 c7 44 24 10 80 fb movq $0xffffffff8500fb80,0x10(%rsp) <-- trapping instruction
31: 00 85
33: 49 89 e4 mov %rsp,%r12
36: 49 c1 ec 03 shr $0x3,%r12
3a: 48 rex.W
3b: b8 f1 f1 f1 f1 mov $0xf1f1f1f1,%eax