------------[ cut here ]------------
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:741:31
index 256 is out of range for type 'const int[34]'
CPU: 0 UID: 0 PID: 645 Comm: syz.3.94 Not tainted syzkaller #0 1451a78ca494a59835143b4712acff56c1d3762d
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/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:1646
usb_hcd_giveback_urb+0x12b/0x400 drivers/usb/core/hcd.c:1730
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/0x5b0 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:bytes_is_nonzero mm/kasan/generic.c:87 [inline]
RIP: 0010:memory_is_nonzero mm/kasan/generic.c:104 [inline]
RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:129 [inline]
RIP: 0010:memory_is_poisoned mm/kasan/generic.c:161 [inline]
RIP: 0010:check_region_inline mm/kasan/generic.c:180 [inline]
RIP: 0010:kasan_check_range+0x8c/0x2b0 mm/kasan/generic.c:189
Code: 00 fc ff df 4d 8d 34 19 4d 89 f5 4d 29 dd 49 83 fd 10 7f 29 4d 85 ed 0f 84 46 01 00 00 4c 89 cb 48 f7 d3 4c 01 fb 41 80 3b 00 <0f> 85 9f 01 00 00 49 ff c3 48 ff c3 75 ee e9 26 01 00 00 45 89 dc
RSP: 0018:ffffc9000b81fab8 EFLAGS: 00000246
RAX: ffffffff81c27d01 RBX: ffffffffffffffff RCX: ffffffff81c27d9e
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8881268de2c0
RBP: ffffc9000b81fae0 R08: ffff8881268de2c7 R09: 1ffff11024d1bc58
R10: dffffc0000000000 R11: ffffed1024d1bc58 R12: 000000000018c000
R13: 0000000000000001 R14: ffffed1024d1bc59 R15: 1ffff11024d1bc58
__kasan_check_read+0x15/0x20 mm/kasan/shadow.c:31
instrument_atomic_read include/linux/instrumented.h:68 [inline]
_test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
test_ti_thread_flag include/linux/thread_info.h:118 [inline]
test_tsk_thread_flag include/linux/sched.h:2088 [inline]
task_sigpending include/linux/sched/signal.h:386 [inline]
fatal_signal_pending include/linux/sched/signal.h:408 [inline]
generic_perform_write+0x25e/0x970 mm/filemap.c:4332
shmem_file_write_iter+0x105/0x130 mm/shmem.c:3330
new_sync_write fs/read_write.c:591 [inline]
vfs_write+0x762/0xfd0 fs/read_write.c:684
ksys_write+0x145/0x260 fs/read_write.c:737
__do_sys_write fs/read_write.c:749 [inline]
__se_sys_write fs/read_write.c:746 [inline]
__x64_sys_write+0x7f/0x90 fs/read_write.c:746
x64_sys_call+0x271c/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:2
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:0x7fc72279e559
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:00007fc7235b3028 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fc722a25fa0 RCX: 00007fc72279e559
RDX: 000000000208e24b RSI: 0000200000000940 RDI: 0000000000000008
RBP: 00007fc7228358b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fc722a26038 R14: 00007fc722a25fa0 R15: 00007ffd3ae7b978
---[ end trace ]---
------------[ cut here ]------------
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:763:30
index 257 is out of range for type 'const int[34]'
CPU: 0 UID: 0 PID: 645 Comm: syz.3.94 Not tainted syzkaller #0 1451a78ca494a59835143b4712acff56c1d3762d
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/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:1646
usb_hcd_giveback_urb+0x12b/0x400 drivers/usb/core/hcd.c:1730
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/0x5b0 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:bytes_is_nonzero mm/kasan/generic.c:87 [inline]
RIP: 0010:memory_is_nonzero mm/kasan/generic.c:104 [inline]
RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:129 [inline]
RIP: 0010:memory_is_poisoned mm/kasan/generic.c:161 [inline]
RIP: 0010:check_region_inline mm/kasan/generic.c:180 [inline]
RIP: 0010:kasan_check_range+0x8c/0x2b0 mm/kasan/generic.c:189
Code: 00 fc ff df 4d 8d 34 19 4d 89 f5 4d 29 dd 49 83 fd 10 7f 29 4d 85 ed 0f 84 46 01 00 00 4c 89 cb 48 f7 d3 4c 01 fb 41 80 3b 00 <0f> 85 9f 01 00 00 49 ff c3 48 ff c3 75 ee e9 26 01 00 00 45 89 dc
RSP: 0018:ffffc9000b81fab8 EFLAGS: 00000246
RAX: ffffffff81c27d01 RBX: ffffffffffffffff RCX: ffffffff81c27d9e
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8881268de2c0
RBP: ffffc9000b81fae0 R08: ffff8881268de2c7 R09: 1ffff11024d1bc58
R10: dffffc0000000000 R11: ffffed1024d1bc58 R12: 000000000018c000
R13: 0000000000000001 R14: ffffed1024d1bc59 R15: 1ffff11024d1bc58
__kasan_check_read+0x15/0x20 mm/kasan/shadow.c:31
instrument_atomic_read include/linux/instrumented.h:68 [inline]
_test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
test_ti_thread_flag include/linux/thread_info.h:118 [inline]
test_tsk_thread_flag include/linux/sched.h:2088 [inline]
task_sigpending include/linux/sched/signal.h:386 [inline]
fatal_signal_pending include/linux/sched/signal.h:408 [inline]
generic_perform_write+0x25e/0x970 mm/filemap.c:4332
shmem_file_write_iter+0x105/0x130 mm/shmem.c:3330
new_sync_write fs/read_write.c:591 [inline]
vfs_write+0x762/0xfd0 fs/read_write.c:684
ksys_write+0x145/0x260 fs/read_write.c:737
__do_sys_write fs/read_write.c:749 [inline]
__se_sys_write fs/read_write.c:746 [inline]
__x64_sys_write+0x7f/0x90 fs/read_write.c:746
x64_sys_call+0x271c/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:2
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:0x7fc72279e559
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:00007fc7235b3028 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fc722a25fa0 RCX: 00007fc72279e559
RDX: 000000000208e24b RSI: 0000200000000940 RDI: 0000000000000008
RBP: 00007fc7228358b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fc722a26038 R14: 00007fc722a25fa0 R15: 00007ffd3ae7b978
---[ 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 ffffffff8670ad9c by task kworker/0:2/310
CPU: 0 UID: 0 PID: 310 Comm: kworker/0:2 Not tainted syzkaller #0 1451a78ca494a59835143b4712acff56c1d3762d
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026
Workqueue: wg-crypt-wg0 wg_packet_encrypt_worker
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:1646
usb_hcd_giveback_urb+0x12b/0x400 drivers/usb/core/hcd.c:1730
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/0x5b0 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:__skb_cow include/linux/skbuff.h:3768 [inline]
RIP: 0010:skb_cow_head include/linux/skbuff.h:3806 [inline]
RIP: 0010:encrypt_packet drivers/net/wireguard/send.c:183 [inline]
RIP: 0010:wg_packet_encrypt_worker+0x615/0x1580 drivers/net/wireguard/send.c:297
Code: c0 4c 89 ef 31 d2 b9 20 08 00 00 e8 65 23 10 01 89 c3 31 ff 89 c6 e8 da c9 1a fe 85 db 0f 88 5d 0c 00 00 e8 8d c5 1a fe eb 36 86 c5 1a fe eb 25 41 0f b7 de 41 c1 fe 10 44 29 f3 bf 01 00 00
RSP: 0018:ffffc9000b75f760 EFLAGS: 00000246
RAX: ffffffff836e8612 RBX: 0000000000000080 RCX: 0000000000000000
RDX: ffff88812f21bb40 RSI: 0000000000000080 RDI: 0000000000000080
RBP: ffffc9000b75fc88 R08: 0000000000000020 R09: ffffc9000b75f6a8
R10: 0000000000000008 R11: 0000000000000000 R12: 0000000000000000
R13: ffff88811c3ba280 R14: ffff88811c3ba360 R15: 0000000000000000
process_one_work kernel/workqueue.c:3273 [inline]
process_scheduled_works+0x7f7/0x1060 kernel/workqueue.c:3354
worker_thread+0xc99/0x13f0 kernel/workqueue.c:3435
kthread+0x2c7/0x360 kernel/kthread.c:389
ret_from_fork+0x67/0xa0 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
The buggy address belongs to the variable:
.str.6+0x3c/0x40
The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x670a
flags: 0x4000(reserved|zone=0)
raw: 0000000000004000 ffffea000019c288 ffffea000019c288 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:
ffffffff8670ac80: 00 f9 f9 f9 00 00 00 00 04 f9 f9 f9 f9 f9 f9 f9
ffffffff8670ad00: 00 00 00 00 00 00 00 04 f9 f9 f9 f9 00 00 00 04
>ffffffff8670ad80: f9 f9 f9 f9 00 00 00 04 f9 f9 f9 f9 00 00 00 04
^
ffffffff8670ae00: f9 f9 f9 f9 00 00 00 03 f9 f9 f9 f9 00 00 06 f9
ffffffff8670ae80: f9 f9 f9 f9 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
aiptek 4-1:0.0: aiptek_irq - usb_submit_urb failed with result -19
----------------
Code disassembly (best guess):
0: 00 fc add %bh,%ah
2: ff lcall (bad)
3: df 4d 8d fisttps -0x73(%rbp)
6: 34 19 xor $0x19,%al
8: 4d 89 f5 mov %r14,%r13
b: 4d 29 dd sub %r11,%r13
e: 49 83 fd 10 cmp $0x10,%r13
12: 7f 29 jg 0x3d
14: 4d 85 ed test %r13,%r13
17: 0f 84 46 01 00 00 je 0x163
1d: 4c 89 cb mov %r9,%rbx
20: 48 f7 d3 not %rbx
23: 4c 01 fb add %r15,%rbx
26: 41 80 3b 00 cmpb $0x0,(%r11)
* 2a: 0f 85 9f 01 00 00 jne 0x1cf <-- trapping instruction
30: 49 ff c3 inc %r11
33: 48 ff c3 inc %rbx
36: 75 ee jne 0x26
38: e9 26 01 00 00 jmp 0x163
3d: 45 89 dc mov %r11d,%r12d