================================================================================ UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:741:31 index 63794 is out of range for type 'const int[34]' CPU: 0 PID: 1161 Comm: syz.9.215 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:last_frame arch/x86/kernel/unwind_frame.c:82 [inline] RIP: 0010:is_last_frame arch/x86/kernel/unwind_frame.c:87 [inline] RIP: 0010:is_last_task_frame arch/x86/kernel/unwind_frame.c:156 [inline] RIP: 0010:unwind_next_frame+0xce/0x660 arch/x86/kernel/unwind_frame.c:276 Code: 68 50 81 00 4c 8b 63 38 4c 8d 6b 28 4c 89 e8 48 c1 e8 03 48 89 45 b8 42 80 3c 30 00 74 08 4c 89 ef e8 46 50 81 00 49 8b 45 00 <48> 89 45 d0 4c 8d 68 20 4c 89 e8 48 c1 e8 03 42 80 3c 30 00 74 08 RSP: 0018:ffffc90000c56e68 EFLAGS: 00000246 RAX: ffff88811d696540 RBX: ffffc90000c56ec8 RCX: 000000000018ad00 RDX: dffffc0000000000 RSI: ffffffff81b23a49 RDI: ffffc90000c56f00 RBP: ffffc90000c56eb8 R08: ffffc90000c56f90 R09: ffffc90000c56f88 R10: 0000000000000002 R11: fffff5200018ade5 R12: ffffc90000c571d0 R13: ffffc90000c56ef0 R14: dffffc0000000000 R15: 0000000000000000 arch_stack_walk+0x124/0x150 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0xa6/0xf0 kernel/stacktrace.c:122 save_stack+0x121/0x230 mm/page_owner.c:147 __set_page_owner+0x1f/0x60 mm/page_owner.c:210 set_page_owner include/linux/page_owner.h:33 [inline] post_alloc_hook+0x1f5/0x210 mm/page_alloc.c:2672 prep_new_page+0x1c/0x110 mm/page_alloc.c:2679 get_page_from_freelist+0x2ca9/0x2d20 mm/page_alloc.c:4586 __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] shmem_alloc_folio mm/shmem.c:1597 [inline] shmem_alloc_and_acct_folio+0x6dd/0x8c0 mm/shmem.c:1622 shmem_get_folio_gfp+0xd6d/0x20f0 mm/shmem.c:1951 shmem_get_folio mm/shmem.c:2082 [inline] shmem_write_begin+0xea/0x2c0 mm/shmem.c:2567 generic_perform_write+0x32d/0x740 mm/filemap.c:3915 __generic_file_write_iter+0x17a/0x230 mm/filemap.c:4014 generic_file_write_iter+0xae/0x310 mm/filemap.c:4043 call_write_iter include/linux/fs.h:2282 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x5ef/0xd00 fs/read_write.c:584 ksys_write+0x14a/0x260 fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __x64_sys_write+0x7b/0x90 fs/read_write.c:646 x64_sys_call+0x27b/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:2 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:0x7ffa5ef5e90e Code: 08 0f 85 a5 a8 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 48 83 ec 08 RSP: 002b:00007ffa5fdaada8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007ffa5fdab6c0 RCX: 00007ffa5ef5e90e RDX: 00000000013bd7ef RSI: 00007ffa555f8000 RDI: 0000000000000005 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00007ffa5fdaaee0 R14: 00007ffa5fdaaea0 R15: 00007ffa555f8000 ================================================================================ ================================================================================ UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:763:30 index 63795 is out of range for type 'const int[34]' CPU: 0 PID: 1161 Comm: syz.9.215 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+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:last_frame arch/x86/kernel/unwind_frame.c:82 [inline] RIP: 0010:is_last_frame arch/x86/kernel/unwind_frame.c:87 [inline] RIP: 0010:is_last_task_frame arch/x86/kernel/unwind_frame.c:156 [inline] RIP: 0010:unwind_next_frame+0xce/0x660 arch/x86/kernel/unwind_frame.c:276 Code: 68 50 81 00 4c 8b 63 38 4c 8d 6b 28 4c 89 e8 48 c1 e8 03 48 89 45 b8 42 80 3c 30 00 74 08 4c 89 ef e8 46 50 81 00 49 8b 45 00 <48> 89 45 d0 4c 8d 68 20 4c 89 e8 48 c1 e8 03 42 80 3c 30 00 74 08 RSP: 0018:ffffc90000c56e68 EFLAGS: 00000246 RAX: ffff88811d696540 RBX: ffffc90000c56ec8 RCX: 000000000018ad00 RDX: dffffc0000000000 RSI: ffffffff81b23a49 RDI: ffffc90000c56f00 RBP: ffffc90000c56eb8 R08: ffffc90000c56f90 R09: ffffc90000c56f88 R10: 0000000000000002 R11: fffff5200018ade5 R12: ffffc90000c571d0 R13: ffffc90000c56ef0 R14: dffffc0000000000 R15: 0000000000000000 arch_stack_walk+0x124/0x150 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0xa6/0xf0 kernel/stacktrace.c:122 save_stack+0x121/0x230 mm/page_owner.c:147 __set_page_owner+0x1f/0x60 mm/page_owner.c:210 set_page_owner include/linux/page_owner.h:33 [inline] post_alloc_hook+0x1f5/0x210 mm/page_alloc.c:2672 prep_new_page+0x1c/0x110 mm/page_alloc.c:2679 get_page_from_freelist+0x2ca9/0x2d20 mm/page_alloc.c:4586 __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] shmem_alloc_folio mm/shmem.c:1597 [inline] shmem_alloc_and_acct_folio+0x6dd/0x8c0 mm/shmem.c:1622 shmem_get_folio_gfp+0xd6d/0x20f0 mm/shmem.c:1951 shmem_get_folio mm/shmem.c:2082 [inline] shmem_write_begin+0xea/0x2c0 mm/shmem.c:2567 generic_perform_write+0x32d/0x740 mm/filemap.c:3915 __generic_file_write_iter+0x17a/0x230 mm/filemap.c:4014 generic_file_write_iter+0xae/0x310 mm/filemap.c:4043 call_write_iter include/linux/fs.h:2282 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x5ef/0xd00 fs/read_write.c:584 ksys_write+0x14a/0x260 fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __x64_sys_write+0x7b/0x90 fs/read_write.c:646 x64_sys_call+0x27b/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:2 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:0x7ffa5ef5e90e Code: 08 0f 85 a5 a8 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 48 83 ec 08 RSP: 002b:00007ffa5fdaada8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007ffa5fdab6c0 RCX: 00007ffa5ef5e90e RDX: 00000000013bd7ef RSI: 00007ffa555f8000 RDI: 0000000000000005 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00007ffa5fdaaee0 R14: 00007ffa5fdaaea0 R15: 00007ffa555f8000 ================================================================================ ================================================================== BUG: KASAN: global-out-of-bounds in aiptek_irq+0x1f32/0x29b0 drivers/input/tablet/aiptek.c:763 Read of size 4 at addr ffffffff85ea39cc by task syz.9.215/1161 CPU: 0 PID: 1161 Comm: syz.9.215 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+0x1f32/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:last_frame arch/x86/kernel/unwind_frame.c:82 [inline] RIP: 0010:is_last_frame arch/x86/kernel/unwind_frame.c:87 [inline] RIP: 0010:is_last_task_frame arch/x86/kernel/unwind_frame.c:156 [inline] RIP: 0010:unwind_next_frame+0xce/0x660 arch/x86/kernel/unwind_frame.c:276 Code: 68 50 81 00 4c 8b 63 38 4c 8d 6b 28 4c 89 e8 48 c1 e8 03 48 89 45 b8 42 80 3c 30 00 74 08 4c 89 ef e8 46 50 81 00 49 8b 45 00 <48> 89 45 d0 4c 8d 68 20 4c 89 e8 48 c1 e8 03 42 80 3c 30 00 74 08 RSP: 0018:ffffc90000c56e68 EFLAGS: 00000246 RAX: ffff88811d696540 RBX: ffffc90000c56ec8 RCX: 000000000018ad00 RDX: dffffc0000000000 RSI: ffffffff81b23a49 RDI: ffffc90000c56f00 RBP: ffffc90000c56eb8 R08: ffffc90000c56f90 R09: ffffc90000c56f88 R10: 0000000000000002 R11: fffff5200018ade5 R12: ffffc90000c571d0 R13: ffffc90000c56ef0 R14: dffffc0000000000 R15: 0000000000000000 arch_stack_walk+0x124/0x150 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0xa6/0xf0 kernel/stacktrace.c:122 save_stack+0x121/0x230 mm/page_owner.c:147 __set_page_owner+0x1f/0x60 mm/page_owner.c:210 set_page_owner include/linux/page_owner.h:33 [inline] post_alloc_hook+0x1f5/0x210 mm/page_alloc.c:2672 prep_new_page+0x1c/0x110 mm/page_alloc.c:2679 get_page_from_freelist+0x2ca9/0x2d20 mm/page_alloc.c:4586 __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] shmem_alloc_folio mm/shmem.c:1597 [inline] shmem_alloc_and_acct_folio+0x6dd/0x8c0 mm/shmem.c:1622 shmem_get_folio_gfp+0xd6d/0x20f0 mm/shmem.c:1951 shmem_get_folio mm/shmem.c:2082 [inline] shmem_write_begin+0xea/0x2c0 mm/shmem.c:2567 generic_perform_write+0x32d/0x740 mm/filemap.c:3915 __generic_file_write_iter+0x17a/0x230 mm/filemap.c:4014 generic_file_write_iter+0xae/0x310 mm/filemap.c:4043 call_write_iter include/linux/fs.h:2282 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x5ef/0xd00 fs/read_write.c:584 ksys_write+0x14a/0x260 fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __x64_sys_write+0x7b/0x90 fs/read_write.c:646 x64_sys_call+0x27b/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:2 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:0x7ffa5ef5e90e Code: 08 0f 85 a5 a8 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 48 83 ec 08 RSP: 002b:00007ffa5fdaada8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007ffa5fdab6c0 RCX: 00007ffa5ef5e90e RDX: 00000000013bd7ef RSI: 00007ffa555f8000 RDI: 0000000000000005 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00007ffa5fdaaee0 R14: 00007ffa5fdaaea0 R15: 00007ffa555f8000 The buggy address belongs to the variable: .str.44+0x4c/0x80 The buggy address belongs to the physical page: page:ffffea000017a8c0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x5ea3 flags: 0x1000(reserved|zone=0) raw: 0000000000001000 ffffea000017a8c8 ffffea000017a8c8 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: ffffffff85ea3880: 00 00 00 00 00 00 00 00 03 f9 f9 f9 f9 f9 f9 f9 ffffffff85ea3900: 00 00 00 00 00 00 00 00 00 f9 f9 f9 f9 f9 f9 f9 >ffffffff85ea3980: 00 00 00 00 00 00 00 00 00 04 f9 f9 f9 f9 f9 f9 ^ ffffffff85ea3a00: 00 00 00 00 00 00 00 00 02 f9 f9 f9 f9 f9 f9 f9 ffffffff85ea3a80: 00 00 00 00 00 00 00 00 01 f9 f9 f9 f9 f9 f9 f9 ================================================================== aiptek 6-1:0.0: aiptek_irq - usb_submit_urb failed with result -19 ---------------- Code disassembly (best guess): 0: 68 50 81 00 4c push $0x4c008150 5: 8b 63 38 mov 0x38(%rbx),%esp 8: 4c 8d 6b 28 lea 0x28(%rbx),%r13 c: 4c 89 e8 mov %r13,%rax f: 48 c1 e8 03 shr $0x3,%rax 13: 48 89 45 b8 mov %rax,-0x48(%rbp) 17: 42 80 3c 30 00 cmpb $0x0,(%rax,%r14,1) 1c: 74 08 je 0x26 1e: 4c 89 ef mov %r13,%rdi 21: e8 46 50 81 00 call 0x81506c 26: 49 8b 45 00 mov 0x0(%r13),%rax * 2a: 48 89 45 d0 mov %rax,-0x30(%rbp) <-- trapping instruction 2e: 4c 8d 68 20 lea 0x20(%rax),%r13 32: 4c 89 e8 mov %r13,%rax 35: 48 c1 e8 03 shr $0x3,%rax 39: 42 80 3c 30 00 cmpb $0x0,(%rax,%r14,1) 3e: 74 08 je 0x48