================================================================================
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:741:31
index 547 is out of range for type 'const int[34]'
CPU: 1 PID: 4593 Comm: syz.4.70 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
dump_stack_lvl+0x188/0x24e 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+0x1eaa/0x28f0 drivers/input/tablet/aiptek.c:741
__usb_hcd_giveback_urb+0x35f/0x520 drivers/usb/core/hcd.c:1675
dummy_timer+0x8d0/0x3330 drivers/usb/gadget/udc/dummy_hcd.c:2004
__run_hrtimer kernel/time/hrtimer.c:1751 [inline]
__hrtimer_run_queues+0x54a/0xd50 kernel/time/hrtimer.c:1815
hrtimer_run_softirq+0x183/0x2a0 kernel/time/hrtimer.c:1832
handle_softirqs+0x2a1/0x930 kernel/softirq.c:596
__do_softirq kernel/softirq.c:630 [inline]
invoke_softirq kernel/softirq.c:470 [inline]
__irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679
irq_exit_rcu+0x5/0x20 kernel/softirq.c:691
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1118
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:lock_acquire+0x225/0x4a0 kernel/locking/lockdep.c:5666
Code: f7 84 24 80 00 00 00 00 02 00 00 43 c6 44 3d 04 f8 0f 85 f0 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 44 3d 00 00 00 00 00 43 c7 44 3d 08 00 00 00 00 65 48 8b 04
RSP: 0018:ffffc90004e372c0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: d3ef4026d26e0600
RDX: 0000000000000000 RSI: ffffffff8a8c2c20 RDI: ffffffff8adf2060
RBP: ffffc90004e373d0 R08: dffffc0000000000 R09: 1ffffffff215fe48
R10: dffffc0000000000 R11: fffffbfff215fe49 R12: 0000000000000001
R13: 1ffff920009c6e64 R14: 0000000000000246 R15: dffffc0000000000
rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
rcu_read_lock include/linux/rcupdate.h:791 [inline]
page_ext_get+0x3a/0x2a0 mm/page_ext.c:157
page_table_check_clear+0x4a/0x6b0 mm/page_table_check.c:71
ptep_get_and_clear_full arch/x86/include/asm/jump_label.h:-1 [inline]
zap_pte_range mm/memory.c:1433 [inline]
zap_pmd_range mm/memory.c:1572 [inline]
zap_pud_range mm/memory.c:1601 [inline]
zap_p4d_range mm/memory.c:1622 [inline]
unmap_page_range+0x192d/0x2500 mm/memory.c:1643
unmap_vmas+0x260/0x390 mm/memory.c:1728
exit_mmap+0x20d/0x960 mm/mmap.c:3250
__mmput+0x118/0x3c0 kernel/fork.c:1206
exit_mm+0x25a/0x360 kernel/exit.c:566
do_exit+0x905/0x2480 kernel/exit.c:868
do_group_exit+0x217/0x2d0 kernel/exit.c:1024
get_signal+0x1272/0x1350 kernel/signal.c:2871
arch_do_signal_or_restart+0xc4/0x1350 arch/x86/kernel/signal.c:871
exit_to_user_mode_loop+0x70/0x110 kernel/entry/common.c:174
exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:210
__syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline]
syscall_exit_to_user_mode+0x16/0x40 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:0x7f37f0f9ce59
Code: Unable to access opcode bytes at 0x7f37f0f9ce2f.
RSP: 002b:00007f37f1e2a028 EFLAGS: 00000246 ORIG_RAX: 000000000000012b
RAX: 0000000000010106 RBX: 00007f37f1216090 RCX: 00007f37f0f9ce59
RDX: 0000000000010106 RSI: 00002000000000c0 RDI: 0000000000000003
RBP: 00007f37f1032d6f R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000002 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f37f1216128 R14: 00007f37f1216090 R15: 00007ffdce0ebdb8
================================================================================
----------------
Code disassembly (best guess):
0: f7 84 24 80 00 00 00 testl $0x200,0x80(%rsp)
7: 00 02 00 00
b: 43 c6 44 3d 04 f8 movb $0xf8,0x4(%r13,%r15,1)
11: 0f 85 f0 00 00 00 jne 0x107
17: 41 f7 c6 00 02 00 00 test $0x200,%r14d
1e: 74 01 je 0x21
20: fb sti
21: 48 c7 44 24 60 0e 36 movq $0x45e0360e,0x60(%rsp)
28: e0 45
* 2a: 4b c7 44 3d 00 00 00 movq $0x0,0x0(%r13,%r15,1) <-- trapping instruction
31: 00 00
33: 43 c7 44 3d 08 00 00 movl $0x0,0x8(%r13,%r15,1)
3a: 00 00
3c: 65 gs
3d: 48 rex.W
3e: 8b .byte 0x8b
3f: 04 .byte 0x4