KASAN: slab-use-after-free Read in dummy_timer

Status: upstream: reported on 2026/08/22 02:22
Subsystems: usb
Labels: prio:normal
[Documentation on labels]
Reported-by: syzbot+ba7702afee9d7d1375f0@syzkaller.appspotmail.com
First crash: 10d, last: 9h43m
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
7b4f7c87 assessment-security DenialOfService: ✅ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ KASAN: slab-use-after-free Read in dummy_timer 2026/08/20 00:01 2026/08/20 00:01 2026/08/20 01:08 1e72964b
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [usb?] KASAN: slab-use-after-free Read in dummy_timer 0 (1) 2026/08/22 02:22
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in dummy_timer (2) prio:high usb 19 syz, C 97 11d 642d 29/29 fixed on 2026/08/17 15:57
linux-6.6 KASAN: slab-use-after-free Read in dummy_timer origin:upstream 19 syz, C error 11 5d09h 421d 0/2 upstream: reported C repro on 2025/07/02 21:23
linux-5.15 KASAN: use-after-free Read in dummy_timer 19 2 369d 459d 0/3 auto-obsoleted due to no activity on 2025/12/02 15:39
upstream general protection fault in dummy_timer usb 2 2 1016d 1062d 0/29 auto-obsoleted due to no activity on 2024/02/14 16:35
linux-5.15 KASAN: use-after-free Read in dummy_timer (2) 19 2 203d 207d 0/3 auto-obsoleted due to no activity on 2026/05/16 23:24

Sample crash report:
==================================================================
BUG: KASAN: slab-use-after-free in find_endpoint drivers/usb/gadget/udc/dummy_hcd.c:1618 [inline]
BUG: KASAN: slab-use-after-free in dummy_timer+0xcdb/0x4cf0 drivers/usb/gadget/udc/dummy_hcd.c:1890
Read of size 1 at addr ffff888054122ce8 by task kworker/0:0/9

CPU: 0 UID: 0 PID: 9 Comm: kworker/0:0 Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/2026
Workqueue: usb_hub_wq hub_event
Call Trace:
 <IRQ>
 dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
 print_address_description+0x55/0x1e0 mm/kasan/report.c:378
 print_report+0x58/0x70 mm/kasan/report.c:482
 kasan_report+0x117/0x150 mm/kasan/report.c:595
 find_endpoint drivers/usb/gadget/udc/dummy_hcd.c:1618 [inline]
 dummy_timer+0xcdb/0x4cf0 drivers/usb/gadget/udc/dummy_hcd.c:1890
 __run_hrtimer kernel/time/hrtimer.c:2067 [inline]
 __hrtimer_run_queues+0x3bc/0xa10 kernel/time/hrtimer.c:2124
 hrtimer_run_softirq+0x1e3/0x2e0 kernel/time/hrtimer.c:2141
 handle_softirqs+0x226/0x860 kernel/softirq.c:645
 __do_softirq kernel/softirq.c:679 [inline]
 invoke_softirq kernel/softirq.c:519 [inline]
 __irq_exit_rcu+0xcb/0x220 kernel/softirq.c:767
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:784
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
 sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1062
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:__pi___x86_indirect_thunk_r11+0x0/0x20
Code: 00 00 00 0f 1f 80 00 00 00 00 e8 01 00 00 00 cc 4c 89 14 24 e9 fc 53 2a f5 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 <e8> 01 00 00 00 cc 4c 89 1c 24 e9 dc 53 2a f5 66 2e 0f 1f 84 00 00
RSP: 0018:ffffc900000e65c0 EFLAGS: 00000282
RAX: ffffffff8237436e RBX: ffffc900000e6680 RCX: 0000000000000000
RDX: ffffc900000e6601 RSI: ffffffff8237436e RDI: ffffc900000e6680
RBP: ffffc900000e6650 R08: ffffc900000e6700 R09: ffffc900000e6618
R10: dffffc0000000000 R11: ffffffff81b272d0 R12: ffff88801de9ddc0
R13: 0000000000000000 R14: ffffffff81b272d0 R15: ffffc900000e65c8
 </TASK>

Allocated by task 174:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 poison_kmalloc_redzone mm/kasan/common.c:398 [inline]
 __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:415
 kasan_kmalloc include/linux/kasan.h:263 [inline]
 __kmalloc_cache_noprof+0x321/0x600 mm/slub.c:5563
 _kmalloc_noprof include/linux/slab.h:991 [inline]
 batadv_forw_packet_alloc+0x178/0x370 net/batman-adv/send.c:511
 batadv_iv_ogm_aggregate_new net/batman-adv/bat_iv_ogm.c:648 [inline]
 batadv_iv_ogm_queue_add+0x8b8/0xd90 net/batman-adv/bat_iv_ogm.c:769
 batadv_iv_ogm_schedule_buff net/batman-adv/bat_iv_ogm.c:973 [inline]
 batadv_iv_ogm_schedule+0xafb/0xfc0 net/batman-adv/bat_iv_ogm.c:1011
 batadv_iv_send_outstanding_bat_ogm_packet+0x622/0x740 net/batman-adv/bat_iv_ogm.c:1924
 process_one_work kernel/workqueue.c:3387 [inline]
 process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3470
 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3551
 kthread+0x38b/0x480 kernel/kthread.c:436
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

Freed by task 174:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:584
 poison_slab_object mm/kasan/common.c:253 [inline]
 __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:285
 kasan_slab_free include/linux/kasan.h:235 [inline]
 slab_free_hook mm/slub.c:2748 [inline]
 slab_free mm/slub.c:6499 [inline]
 kfree+0x1c5/0x650 mm/slub.c:6792
 process_one_work kernel/workqueue.c:3387 [inline]
 process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3470
 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3551
 kthread+0x38b/0x480 kernel/kthread.c:436
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

Last potentially related work creation:
 kasan_save_stack+0x3e/0x60 mm/kasan/common.c:57
 kasan_record_aux_stack+0xbd/0xd0 mm/kasan/generic.c:556
 insert_work+0x3d/0x330 kernel/workqueue.c:2272
 __queue_work+0xbae/0x10d0 kernel/workqueue.c:2452
 call_timer_fn+0x18d/0x5f0 kernel/time/timer.c:1748
 expire_timers kernel/time/timer.c:1794 [inline]
 __run_timers kernel/time/timer.c:2374 [inline]
 __run_timer_base+0x67e/0x8b0 kernel/time/timer.c:2386
 run_timer_base kernel/time/timer.c:2395 [inline]
 run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
 handle_softirqs+0x226/0x860 kernel/softirq.c:645
 __do_softirq kernel/softirq.c:679 [inline]
 invoke_softirq kernel/softirq.c:519 [inline]
 __irq_exit_rcu+0xcb/0x220 kernel/softirq.c:767
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:784
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
 sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1062
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674

The buggy address belongs to the object at ffff888054122c00
 which belongs to the cache kmalloc-512 of size 512
The buggy address is located 232 bytes inside of
 freed 512-byte region [ffff888054122c00, ffff888054122e00)

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x54120
head: order:2 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0xfff00000000040(head|node=0|zone=1|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 00fff00000000040 ffff88801b041c80 dead000000000100 dead000000000122
raw: 0000000000000000 0000000000100010 00000000f5000000 0000000000000000
head: 00fff00000000040 ffff88801b041c80 dead000000000100 dead000000000122
head: 0000000000000000 0000000000100010 00000000f5000000 0000000000000000
head: 00fff00000000002 ffffffffffffff01 00000000ffffffff 00000000ffffffff
head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000004
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 2, migratetype Unmovable, gfp_mask 0xd20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 5613, tgid 5613 (syz-executor), ts 83718818613
 set_page_owner include/linux/page_owner.h:33 [inline]
 post_alloc_hook+0x1f9/0x250 mm/page_alloc.c:1871
 prep_new_page mm/page_alloc.c:1879 [inline]
 get_page_from_freelist+0x2209/0x2280 mm/page_alloc.c:3943
 __alloc_frozen_pages_noprof+0x217/0x5a0 mm/page_alloc.c:5436
 alloc_slab_page mm/slub.c:3347 [inline]
 allocate_slab+0x7d/0x620 mm/slub.c:3462
 new_slab mm/slub.c:3513 [inline]
 refill_objects+0x2d5/0x350 mm/slub.c:7410
 refill_sheaf mm/slub.c:2885 [inline]
 __pcs_replace_empty_main+0x2c8/0x6c0 mm/slub.c:4774
 alloc_from_pcs mm/slub.c:4850 [inline]
 slab_alloc_node mm/slub.c:4984 [inline]
 __do_kmalloc_node mm/slub.c:5413 [inline]
 __kmalloc_noprof+0x47b/0x720 mm/slub.c:5439
 _kmalloc_noprof include/linux/slab.h:995 [inline]
 _kzalloc_noprof include/linux/slab.h:1312 [inline]
 fib6_info_alloc+0x30/0xf0 net/ipv6/ip6_fib.c:155
 ip6_route_info_create+0x149/0x890 net/ipv6/route.c:3833
 ip6_route_add+0x49/0x1b0 net/ipv6/route.c:3962
 addrconf_add_mroute+0x2d1/0x370 net/ipv6/addrconf.c:2568
 addrconf_add_dev net/ipv6/addrconf.c:2586 [inline]
 inet6_addr_add+0x2b8/0xb50 net/ipv6/addrconf.c:3056
 inet6_rtm_newaddr+0x9fc/0xe00 net/ipv6/addrconf.c:5095
 rtnetlink_rcv_msg+0x802/0xc00 net/core/rtnetlink.c:7132
 netlink_rcv_skb+0x226/0x4a0 net/netlink/af_netlink.c:2556
 netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline]
 netlink_unicast+0x7bd/0x940 net/netlink/af_netlink.c:1345
page last free pid 1 tgid 1 ts 19531492259 stack trace:
 reset_page_owner include/linux/page_owner.h:26 [inline]
 __free_pages_prepare mm/page_alloc.c:1418 [inline]
 free_pages_prepare+0x9eb/0xaf0 mm/page_alloc.c:1463
 __free_contig_range_common+0x174/0x340 mm/page_alloc.c:7072
 destroy_args+0x4e5/0x570 mm/debug_vm_pgtable.c:993
 debug_vm_pgtable+0x3f8/0x410 mm/debug_vm_pgtable.c:1368
 do_one_initcall+0x250/0x870 init/main.c:1357
 do_initcall_level+0x10a/0x1a0 init/main.c:1419
 do_initcalls+0x59/0xa0 init/main.c:1435
 kernel_init_freeable+0x29d/0x3e0 init/main.c:1670
 kernel_init+0x22/0x1d0 init/main.c:1560
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

Memory state around the buggy address:
 ffff888054122b80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff888054122c00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff888054122c80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                          ^
 ffff888054122d00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff888054122d80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	00 00                	add    %al,(%rax)
   2:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
   9:	e8 01 00 00 00       	call   0xf
   e:	cc                   	int3
   f:	4c 89 14 24          	mov    %r10,(%rsp)
  13:	e9 fc 53 2a f5       	jmp    0xf52a5414
  18:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
  1f:	00 00 00
  22:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
* 29:	e8 01 00 00 00       	call   0x2f <-- trapping instruction
  2e:	cc                   	int3
  2f:	4c 89 1c 24          	mov    %r11,(%rsp)
  33:	e9 dc 53 2a f5       	jmp    0xf52a5414
  38:	66                   	data16
  39:	2e                   	cs
  3a:	0f                   	.byte 0xf
  3b:	1f                   	(bad)
  3c:	84 00                	test   %al,(%rax)

Crashes (15):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/28 09:20 upstream 1b78070aaef6 e2fa417d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root KASAN: slab-use-after-free Read in dummy_timer
2026/08/28 08:58 upstream 1b78070aaef6 e2fa417d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root KASAN: slab-use-after-free Read in dummy_timer
2026/08/27 12:34 upstream 73e3f0710014 a2b77b9e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root KASAN: slab-use-after-free Read in dummy_timer
2026/08/21 14:22 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 23:56 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 21:05 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 18:28 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 17:53 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 17:47 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 17:38 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 17:37 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/20 17:37 linux-next 7079a12d7506 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce KASAN: slab-use-after-free Read in dummy_timer
2026/08/18 02:14 linux-next e6664f2b33db 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root KASAN: slab-use-after-free Read in dummy_timer
2026/08/25 13:23 upstream 66498c75b4f8 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root KASAN: use-after-free Read in dummy_timer
2026/08/23 09:39 linux-next 903c1cf6dff9 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root KASAN: slab-out-of-bounds Read in dummy_timer
* Struck through repros no longer work on HEAD.