------------[ cut here ]------------
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:741:31
index 4095 is out of range for type 'const int[34]'
CPU: 0 UID: 0 PID: 6125 Comm: udevd Not tainted syzkaller #0 238002c42480d657f84ffff3a67e0b81dcf43858
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
__dump_stack+0x21/0x30 lib/dump_stack.c:94
dump_stack_lvl+0x140/0x1c0 lib/dump_stack.c:120
dump_stack+0x19/0x20 lib/dump_stack.c:129
ubsan_epilogue+0xe/0x40 lib/ubsan.c:231
__ubsan_handle_out_of_bounds+0xe8/0xf0 lib/ubsan.c:429
aiptek_irq+0x208d/0x2a00 drivers/input/tablet/aiptek.c:741
__usb_hcd_giveback_urb+0x36e/0x530 drivers/usb/core/hcd.c:1648
usb_hcd_giveback_urb+0x12b/0x400 drivers/usb/core/hcd.c:1732
dummy_timer+0xa3f/0x4900 drivers/usb/gadget/udc/dummy_hcd.c:2003
__run_hrtimer kernel/time/hrtimer.c:1758 [inline]
__hrtimer_run_queues+0x3ab/0x8e0 kernel/time/hrtimer.c:1822
hrtimer_run_softirq+0x159/0x560 kernel/time/hrtimer.c:1839
handle_softirqs+0x1aa/0x620 kernel/softirq.c:621
__do_softirq kernel/softirq.c:659 [inline]
invoke_softirq kernel/softirq.c:476 [inline]
__irq_exit_rcu+0x47/0xb0 kernel/softirq.c:708
irq_exit_rcu+0xd/0x30 kernel/softirq.c:720
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0x82/0x90 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1f/0x30 arch/x86/include/asm/idtentry.h:702
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0x5b/0x70 kernel/locking/spinlock.c:194
Code: 4e 87 e8 58 21 39 fc 4c 89 f7 48 83 3d cd 5b a7 01 00 74 29 e8 d6 0d 00 00 90 f7 c3 00 02 00 00 74 01 fb 65 ff 0d 7d b8 5d 7a <74> 0a 5b 41 5e 5d e9 0a 3e 00 00 cc e8 b4 c8 62 fb eb ef 0f 0b b8
RSP: 0018:ffffc90000f8f400 EFLAGS: 00000286
RAX: 0000000000000001 RBX: 0000000000000206 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000206 RDI: ffffffff88c1f84c
RBP: ffffc90000f8f410 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff520001f1e74 R12: 0000000000000206
R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000001
spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
avc_reclaim_node security/selinux/avc.c:487 [inline]
avc_alloc_node+0x3ea/0x520 security/selinux/avc.c:506
avc_insert security/selinux/avc.c:619 [inline]
avc_compute_av+0xeb/0x760 security/selinux/avc.c:995
avc_perm_nonode+0xda/0x1d0 security/selinux/avc.c:1118
avc_has_perm_noaudit+0x21f/0x360 security/selinux/avc.c:1161
selinux_inode_permission+0x37d/0x5d0 security/selinux/hooks.c:3148
security_inode_permission+0xb0/0x150 security/security.c:2325
inode_permission+0xf3/0x4c0 fs/namei.c:543
may_lookup fs/namei.c:1783 [inline]
link_path_walk+0x828/0xeb0 fs/namei.c:2374
path_lookupat+0x8d/0x440 fs/namei.c:2587
filename_lookup+0x22d/0x5a0 fs/namei.c:2617
vfs_statx+0x106/0x210 fs/stat.c:312
vfs_fstatat+0xe5/0x1d0 fs/stat.c:341
__do_sys_newfstatat fs/stat.c:505 [inline]
__se_sys_newfstatat+0x127/0x3c0 fs/stat.c:499
__x64_sys_newfstatat+0x9f/0xc0 fs/stat.c:499
x64_sys_call+0x1821/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:263
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fe254f11b0a
Code: 48 8b 15 f1 f2 0d 00 f7 d8 64 89 02 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 41 89 ca b8 06 01 00 00 0f 05 <3d> 00 f0 ff ff 77 07 31 c0 c3 0f 1f 40 00 48 8b 15 b9 f2 0d 00 f7
RSP: 002b:00007ffd6b718c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000106
RAX: ffffffffffffffda RBX: 00007ffd6b719130 RCX: 00007fe254f11b0a
RDX: 00007ffd6b718ca0 RSI: 00007ffd6b719130 RDI: 00000000ffffff9c
RBP: 000056252d14e2c0 R08: 0000000000000000 R09: 0000000000000020
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffd6b718d30
R13: 00007ffd6b719565 R14: 000056252caf2ca4 R15: 000056252caf2bcc
---[ end trace ]---
==================================================================
BUG: KASAN: global-out-of-bounds in aiptek_irq+0x20ab/0x2a00 drivers/input/tablet/aiptek.c:741
Read of size 4 at addr ffffffff8670977c by task udevd/6125
CPU: 0 UID: 0 PID: 6125 Comm: udevd Not tainted syzkaller #0 238002c42480d657f84ffff3a67e0b81dcf43858
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
__dump_stack+0x21/0x30 lib/dump_stack.c:94
dump_stack_lvl+0x140/0x1c0 lib/dump_stack.c:120
print_address_description+0x71/0x210 mm/kasan/report.c:377
print_report+0x4a/0x70 mm/kasan/report.c:481
kasan_report+0x162/0x1a0 mm/kasan/report.c:594
__asan_report_load4_noabort+0x18/0x20 mm/kasan/report_generic.c:380
aiptek_irq+0x20ab/0x2a00 drivers/input/tablet/aiptek.c:741
__usb_hcd_giveback_urb+0x36e/0x530 drivers/usb/core/hcd.c:1648
usb_hcd_giveback_urb+0x12b/0x400 drivers/usb/core/hcd.c:1732
dummy_timer+0xa3f/0x4900 drivers/usb/gadget/udc/dummy_hcd.c:2003
__run_hrtimer kernel/time/hrtimer.c:1758 [inline]
__hrtimer_run_queues+0x3ab/0x8e0 kernel/time/hrtimer.c:1822
hrtimer_run_softirq+0x159/0x560 kernel/time/hrtimer.c:1839
handle_softirqs+0x1aa/0x620 kernel/softirq.c:621
__do_softirq kernel/softirq.c:659 [inline]
invoke_softirq kernel/softirq.c:476 [inline]
__irq_exit_rcu+0x47/0xb0 kernel/softirq.c:708
irq_exit_rcu+0xd/0x30 kernel/softirq.c:720
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0x82/0x90 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1f/0x30 arch/x86/include/asm/idtentry.h:702
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0x5b/0x70 kernel/locking/spinlock.c:194
Code: 4e 87 e8 58 21 39 fc 4c 89 f7 48 83 3d cd 5b a7 01 00 74 29 e8 d6 0d 00 00 90 f7 c3 00 02 00 00 74 01 fb 65 ff 0d 7d b8 5d 7a <74> 0a 5b 41 5e 5d e9 0a 3e 00 00 cc e8 b4 c8 62 fb eb ef 0f 0b b8
RSP: 0018:ffffc90000f8f400 EFLAGS: 00000286
RAX: 0000000000000001 RBX: 0000000000000206 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000206 RDI: ffffffff88c1f84c
RBP: ffffc90000f8f410 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff520001f1e74 R12: 0000000000000206
R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000001
spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
avc_reclaim_node security/selinux/avc.c:487 [inline]
avc_alloc_node+0x3ea/0x520 security/selinux/avc.c:506
avc_insert security/selinux/avc.c:619 [inline]
avc_compute_av+0xeb/0x760 security/selinux/avc.c:995
avc_perm_nonode+0xda/0x1d0 security/selinux/avc.c:1118
avc_has_perm_noaudit+0x21f/0x360 security/selinux/avc.c:1161
selinux_inode_permission+0x37d/0x5d0 security/selinux/hooks.c:3148
security_inode_permission+0xb0/0x150 security/security.c:2325
inode_permission+0xf3/0x4c0 fs/namei.c:543
may_lookup fs/namei.c:1783 [inline]
link_path_walk+0x828/0xeb0 fs/namei.c:2374
path_lookupat+0x8d/0x440 fs/namei.c:2587
filename_lookup+0x22d/0x5a0 fs/namei.c:2617
vfs_statx+0x106/0x210 fs/stat.c:312
vfs_fstatat+0xe5/0x1d0 fs/stat.c:341
__do_sys_newfstatat fs/stat.c:505 [inline]
__se_sys_newfstatat+0x127/0x3c0 fs/stat.c:499
__x64_sys_newfstatat+0x9f/0xc0 fs/stat.c:499
x64_sys_call+0x1821/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:263
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fe254f11b0a
Code: 48 8b 15 f1 f2 0d 00 f7 d8 64 89 02 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 41 89 ca b8 06 01 00 00 0f 05 <3d> 00 f0 ff ff 77 07 31 c0 c3 0f 1f 40 00 48 8b 15 b9 f2 0d 00 f7
RSP: 002b:00007ffd6b718c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000106
RAX: ffffffffffffffda RBX: 00007ffd6b719130 RCX: 00007fe254f11b0a
RDX: 00007ffd6b718ca0 RSI: 00007ffd6b719130 RDI: 00000000ffffff9c
RBP: 000056252d14e2c0 R08: 0000000000000000 R09: 0000000000000020
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffd6b718d30
R13: 00007ffd6b719565 R14: 000056252caf2ca4 R15: 000056252caf2bcc
The buggy address belongs to the variable:
.str.13+0x5c/0x60
The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6709
flags: 0x4000(reserved|zone=0)
raw: 0000000000004000 ffffea000019c248 ffffea000019c248 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:
ffffffff86709600: 00 00 00 00 00 07 f9 f9 f9 f9 f9 f9 00 00 00 00
ffffffff86709680: 00 00 07 f9 f9 f9 f9 f9 00 00 00 00 00 00 02 f9
>ffffffff86709700: f9 f9 f9 f9 00 00 00 00 00 00 03 f9 f9 f9 f9 f9
^
ffffffff86709780: 00 00 00 00 00 06 f9 f9 f9 f9 f9 f9 00 00 00 00
ffffffff86709800: 02 f9 f9 f9 f9 f9 f9 f9 00 00 00 00 00 00 00 07
==================================================================
------------[ cut here ]------------
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:763:30
index 4096 is out of range for type 'const int[34]'
CPU: 0 UID: 0 PID: 6125 Comm: udevd Tainted: G B syzkaller #0 238002c42480d657f84ffff3a67e0b81dcf43858
Tainted: [B]=BAD_PAGE
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
__dump_stack+0x21/0x30 lib/dump_stack.c:94
dump_stack_lvl+0x140/0x1c0 lib/dump_stack.c:120
dump_stack+0x19/0x20 lib/dump_stack.c:129
ubsan_epilogue+0xe/0x40 lib/ubsan.c:231
__ubsan_handle_out_of_bounds+0xe8/0xf0 lib/ubsan.c:429
aiptek_irq+0x1f3c/0x2a00 drivers/input/tablet/aiptek.c:763
__usb_hcd_giveback_urb+0x36e/0x530 drivers/usb/core/hcd.c:1648
usb_hcd_giveback_urb+0x12b/0x400 drivers/usb/core/hcd.c:1732
dummy_timer+0xa3f/0x4900 drivers/usb/gadget/udc/dummy_hcd.c:2003
__run_hrtimer kernel/time/hrtimer.c:1758 [inline]
__hrtimer_run_queues+0x3ab/0x8e0 kernel/time/hrtimer.c:1822
hrtimer_run_softirq+0x159/0x560 kernel/time/hrtimer.c:1839
handle_softirqs+0x1aa/0x620 kernel/softirq.c:621
__do_softirq kernel/softirq.c:659 [inline]
invoke_softirq kernel/softirq.c:476 [inline]
__irq_exit_rcu+0x47/0xb0 kernel/softirq.c:708
irq_exit_rcu+0xd/0x30 kernel/softirq.c:720
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0x82/0x90 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1f/0x30 arch/x86/include/asm/idtentry.h:702
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0x5b/0x70 kernel/locking/spinlock.c:194
Code: 4e 87 e8 58 21 39 fc 4c 89 f7 48 83 3d cd 5b a7 01 00 74 29 e8 d6 0d 00 00 90 f7 c3 00 02 00 00 74 01 fb 65 ff 0d 7d b8 5d 7a <74> 0a 5b 41 5e 5d e9 0a 3e 00 00 cc e8 b4 c8 62 fb eb ef 0f 0b b8
RSP: 0018:ffffc90000f8f400 EFLAGS: 00000286
RAX: 0000000000000001 RBX: 0000000000000206 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000206 RDI: ffffffff88c1f84c
RBP: ffffc90000f8f410 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff520001f1e74 R12: 0000000000000206
R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000001
spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
avc_reclaim_node security/selinux/avc.c:487 [inline]
avc_alloc_node+0x3ea/0x520 security/selinux/avc.c:506
avc_insert security/selinux/avc.c:619 [inline]
avc_compute_av+0xeb/0x760 security/selinux/avc.c:995
avc_perm_nonode+0xda/0x1d0 security/selinux/avc.c:1118
avc_has_perm_noaudit+0x21f/0x360 security/selinux/avc.c:1161
selinux_inode_permission+0x37d/0x5d0 security/selinux/hooks.c:3148
security_inode_permission+0xb0/0x150 security/security.c:2325
inode_permission+0xf3/0x4c0 fs/namei.c:543
may_lookup fs/namei.c:1783 [inline]
link_path_walk+0x828/0xeb0 fs/namei.c:2374
path_lookupat+0x8d/0x440 fs/namei.c:2587
filename_lookup+0x22d/0x5a0 fs/namei.c:2617
vfs_statx+0x106/0x210 fs/stat.c:312
vfs_fstatat+0xe5/0x1d0 fs/stat.c:341
__do_sys_newfstatat fs/stat.c:505 [inline]
__se_sys_newfstatat+0x127/0x3c0 fs/stat.c:499
__x64_sys_newfstatat+0x9f/0xc0 fs/stat.c:499
x64_sys_call+0x1821/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:263
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fe254f11b0a
Code: 48 8b 15 f1 f2 0d 00 f7 d8 64 89 02 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 41 89 ca b8 06 01 00 00 0f 05 <3d> 00 f0 ff ff 77 07 31 c0 c3 0f 1f 40 00 48 8b 15 b9 f2 0d 00 f7
RSP: 002b:00007ffd6b718c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000106
RAX: ffffffffffffffda RBX: 00007ffd6b719130 RCX: 00007fe254f11b0a
RDX: 00007ffd6b718ca0 RSI: 00007ffd6b719130 RDI: 00000000ffffff9c
RBP: 000056252d14e2c0 R08: 0000000000000000 R09: 0000000000000020
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffd6b718d30
R13: 00007ffd6b719565 R14: 000056252caf2ca4 R15: 000056252caf2bcc
---[ end trace ]---
aiptek 3-1:0.0: aiptek_irq - usb_submit_urb failed with result -19
raw-gadget.1 gadget.1: ignoring, device is not running
raw-gadget.1 gadget.1: ignoring, device is not running
----------------
Code disassembly (best guess):
0: 4e 87 e8 rex.WRX xchg %r13,%rax
3: 58 pop %rax
4: 21 39 and %edi,(%rcx)
6: fc cld
7: 4c 89 f7 mov %r14,%rdi
a: 48 83 3d cd 5b a7 01 cmpq $0x0,0x1a75bcd(%rip) # 0x1a75bdf
11: 00
12: 74 29 je 0x3d
14: e8 d6 0d 00 00 call 0xdef
19: 90 nop
1a: f7 c3 00 02 00 00 test $0x200,%ebx
20: 74 01 je 0x23
22: fb sti
23: 65 ff 0d 7d b8 5d 7a decl %gs:0x7a5db87d(%rip) # 0x7a5db8a7
* 2a: 74 0a je 0x36 <-- trapping instruction
2c: 5b pop %rbx
2d: 41 5e pop %r14
2f: 5d pop %rbp
30: e9 0a 3e 00 00 jmp 0x3e3f
35: cc int3
36: e8 b4 c8 62 fb call 0xfb62c8ef
3b: eb ef jmp 0x2c
3d: 0f 0b ud2
3f: b8 .byte 0xb8