================================================================================ 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