Hello,
syzbot found the following issue on:
HEAD commit: d11359bcf2ac Merge 0e33f8e4070b ("driver core: Don't let a..
git tree: android13-5.10-lts
console output:
https://syzkaller.appspot.com/x/log.txt?x=1276ddb6580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=24485137faf0cce5
dashboard link:
https://syzkaller.appspot.com/bug?extid=36b4693f9f44057362ba
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=16a1d186580000
C reproducer:
https://syzkaller.appspot.com/x/repro.c?x=171390ae580000
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/b48ee2efcbfa/disk-d11359bc.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/73648c0e0373/vmlinux-d11359bc.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/aa231a2495a1/bzImage-d11359bc.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+36b469...@syzkaller.appspotmail.com
================================================================================
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: 0 Comm: swapper/1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
<IRQ>
__dump_stack+0x21/0x24 lib/dump_stack.c:77
dump_stack_lvl+0x1a7/0x208 lib/dump_stack.c:118
dump_stack+0x15/0x1c lib/dump_stack.c:135
ubsan_epilogue+0xe/0x40 lib/ubsan.c:148
__ubsan_handle_out_of_bounds+0xdf/0xf0 lib/ubsan.c:347
aiptek_irq+0x1fdf/0x2860 drivers/input/tablet/aiptek.c:741
__usb_hcd_giveback_urb+0x333/0x4f0 drivers/usb/core/hcd.c:1674
usb_hcd_giveback_urb+0x119/0x410 drivers/usb/core/hcd.c:1748
dummy_timer+0x8be/0x30e0 drivers/usb/gadget/udc/dummy_hcd.c:1986
call_timer_fn+0x38/0x290 kernel/time/timer.c:1450
expire_timers kernel/time/timer.c:1495 [inline]
__run_timers+0x650/0x9e0 kernel/time/timer.c:1789
run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
__do_softirq+0x255/0x563 kernel/softirq.c:309
asm_call_irq_on_stack+0xf/0x20
</IRQ>
__run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
invoke_softirq kernel/softirq.c:405 [inline]
__irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 44 2a 00 00 49 bd 00 00 00 00 00 fc ff df e9 67 ff ff ff e8 d0 f7 fa ff 55 48 89 e5 0f 1f 44 00 00 0f 00 2d b0 f6 61 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffc90000107db8 EFLAGS: 00000252
RAX: ffff8881f7100000 RBX: ffff888100293b40 RCX: 0000000000006fde
RDX: 0000000000000001 RSI: ffffffff85409040 RDI: ffffffff85409000
RBP: ffffc90000107db8 R08: ffff8881f71573d3 R09: 1ffff1103ee2ae7a
R10: dffffc0000000000 R11: ffffed103ee2ae7b R12: 0000000000000000
R13: 1ffff11020052768 R14: dffffc0000000000 R15: dffffc0000000000
arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
cpuidle_idle_call kernel/sched/idle.c:204 [inline]
do_idle+0x217/0x620 kernel/sched/idle.c:328
cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:425
start_secondary+0x2e9/0x3a0 arch/x86/kernel/smpboot.c:276
secondary_startup_64_no_verify+0xad/0xbb
================================================================================
==================================================================
BUG: KASAN: global-out-of-bounds in aiptek_irq+0x1ffd/0x2860 drivers/input/tablet/aiptek.c:741
Read of size 4 at addr ffffffff855b380c by task swapper/1/0
CPU: 1 PID: 0 Comm: swapper/1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
<IRQ>
__dump_stack+0x21/0x24 lib/dump_stack.c:77
dump_stack_lvl+0x1a7/0x208 lib/dump_stack.c:118
print_address_description+0x7f/0x2c0 mm/kasan/report.c:248
__kasan_report mm/kasan/report.c:435 [inline]
kasan_report+0xe2/0x130 mm/kasan/report.c:452
__asan_report_load4_noabort+0x14/0x20 mm/kasan/report_generic.c:308
aiptek_irq+0x1ffd/0x2860 drivers/input/tablet/aiptek.c:741
__usb_hcd_giveback_urb+0x333/0x4f0 drivers/usb/core/hcd.c:1674
usb_hcd_giveback_urb+0x119/0x410 drivers/usb/core/hcd.c:1748
dummy_timer+0x8be/0x30e0 drivers/usb/gadget/udc/dummy_hcd.c:1986
call_timer_fn+0x38/0x290 kernel/time/timer.c:1450
expire_timers kernel/time/timer.c:1495 [inline]
__run_timers+0x650/0x9e0 kernel/time/timer.c:1789
run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
__do_softirq+0x255/0x563 kernel/softirq.c:309
asm_call_irq_on_stack+0xf/0x20
</IRQ>
__run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
invoke_softirq kernel/softirq.c:405 [inline]
__irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 44 2a 00 00 49 bd 00 00 00 00 00 fc ff df e9 67 ff ff ff e8 d0 f7 fa ff 55 48 89 e5 0f 1f 44 00 00 0f 00 2d b0 f6 61 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffc90000107db8 EFLAGS: 00000252
RAX: ffff8881f7100000 RBX: ffff888100293b40 RCX: 0000000000006fde
RDX: 0000000000000001 RSI: ffffffff85409040 RDI: ffffffff85409000
RBP: ffffc90000107db8 R08: ffff8881f71573d3 R09: 1ffff1103ee2ae7a
R10: dffffc0000000000 R11: ffffed103ee2ae7b R12: 0000000000000000
R13: 1ffff11020052768 R14: dffffc0000000000 R15: dffffc0000000000
arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
cpuidle_idle_call kernel/sched/idle.c:204 [inline]
do_idle+0x217/0x620 kernel/sched/idle.c:328
cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:425
start_secondary+0x2e9/0x3a0 arch/x86/kernel/smpboot.c:276
secondary_startup_64_no_verify+0xad/0xbb
The buggy address belongs to the variable:
.str.57+0xc/0x20
Memory state around the buggy address:
ffffffff855b3700: 04 f9 f9 f9 00 f9 f9 f9 06 f9 f9 f9 07 f9 f9 f9
ffffffff855b3780: 06 f9 f9 f9 00 04 f9 f9 05 f9 f9 f9 00 03 f9 f9
>ffffffff855b3800: 00 03 f9 f9 00 00 00 00 03 f9 f9 f9 f9 f9 f9 f9
^
ffffffff855b3880: 00 00 00 00 03 f9 f9 f9 f9 f9 f9 f9 00 00 00 00
ffffffff855b3900: 01 f9 f9 f9 f9 f9 f9 f9 00 00 00 00 f9 f9 f9 f9
==================================================================
================================================================================
UBSAN: array-index-out-of-bounds in drivers/input/tablet/aiptek.c:763:30
index 548 is out of range for type 'const int[34]'
CPU: 1 PID: 0 Comm: swapper/1 Tainted: G B syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
<IRQ>
__dump_stack+0x21/0x24 lib/dump_stack.c:77
dump_stack_lvl+0x1a7/0x208 lib/dump_stack.c:118
dump_stack+0x15/0x1c lib/dump_stack.c:135
ubsan_epilogue+0xe/0x40 lib/ubsan.c:148
__ubsan_handle_out_of_bounds+0xdf/0xf0 lib/ubsan.c:347
aiptek_irq+0x1ebf/0x2860 drivers/input/tablet/aiptek.c:763
__usb_hcd_giveback_urb+0x333/0x4f0 drivers/usb/core/hcd.c:1674
usb_hcd_giveback_urb+0x119/0x410 drivers/usb/core/hcd.c:1748
dummy_timer+0x8be/0x30e0 drivers/usb/gadget/udc/dummy_hcd.c:1986
call_timer_fn+0x38/0x290 kernel/time/timer.c:1450
expire_timers kernel/time/timer.c:1495 [inline]
__run_timers+0x650/0x9e0 kernel/time/timer.c:1789
run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
__do_softirq+0x255/0x563 kernel/softirq.c:309
asm_call_irq_on_stack+0xf/0x20
</IRQ>
__run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
invoke_softirq kernel/softirq.c:405 [inline]
__irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 44 2a 00 00 49 bd 00 00 00 00 00 fc ff df e9 67 ff ff ff e8 d0 f7 fa ff 55 48 89 e5 0f 1f 44 00 00 0f 00 2d b0 f6 61 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffc90000107db8 EFLAGS: 00000252
RAX: ffff8881f7100000 RBX: ffff888100293b40 RCX: 0000000000006fde
RDX: 0000000000000001 RSI: ffffffff85409040 RDI: ffffffff85409000
RBP: ffffc90000107db8 R08: ffff8881f71573d3 R09: 1ffff1103ee2ae7a
R10: dffffc0000000000 R11: ffffed103ee2ae7b R12: 0000000000000000
R13: 1ffff11020052768 R14: dffffc0000000000 R15: dffffc0000000000
arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
cpuidle_idle_call kernel/sched/idle.c:204 [inline]
do_idle+0x217/0x620 kernel/sched/idle.c:328
cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:425
start_secondary+0x2e9/0x3a0 arch/x86/kernel/smpboot.c:276
secondary_startup_64_no_verify+0xad/0xbb
================================================================================
----------------
Code disassembly (best guess), 2 bytes skipped:
0: 00 00 add %al,(%rax)
2: 49 bd 00 00 00 00 00 movabs $0xdffffc0000000000,%r13
9: fc ff df
c: e9 67 ff ff ff jmp 0xffffff78
11: e8 d0 f7 fa ff call 0xfffaf7e6
16: 55 push %rbp
17: 48 89 e5 mov %rsp,%rbp
1a: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
1f: 0f 00 2d b0 f6 61 00 verw 0x61f6b0(%rip) # 0x61f6d6
26: fb sti
27: f4 hlt
* 28: 5d pop %rbp <-- trapping instruction
29: c3 ret
2a: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
31: 00 00 00
34: 66 90 xchg %ax,%ax
36: 55 push %rbp
37: 48 89 e5 mov %rsp,%rbp
3a: 41 57 push %r15
3c: 41 56 push %r14
---
This report is generated by a bot. It may contain errors.
See
https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at
syzk...@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup