==================================================================
BUG: KASAN: use-after-free in rose_timer_expiry+0x471/0x4b0
Read of size 2 at addr ffff88811c16a02a by task swapper/0/0

CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.16.0-rc6-syzkaller-01646-g56613001dfc9-dirty #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Call Trace:
 <IRQ>
 dump_stack_lvl+0x189/0x250
 print_report+0xca/0x230
 kasan_report+0x118/0x150
 rose_timer_expiry+0x471/0x4b0
 call_timer_fn+0x17e/0x5f0
 __run_timer_base+0x61a/0x860
 run_timer_softirq+0xb7/0x180
 handle_softirqs+0x286/0x870
 __irq_exit_rcu+0xca/0x1f0
 irq_exit_rcu+0x9/0x30
 sysvec_apic_timer_interrupt+0xa6/0xc0
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20
RIP: 0010:pv_native_safe_halt+0x13/0x20
Code: d3 de 02 00 cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa eb 07 0f 00 2d d3 0d 18 00 f3 0f 1e fa fb f4 <c3> cc cc cc cc cc cc cc cc cc cc cc cc 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffffff8de07d80 EFLAGS: 00000282
RAX: 864623fabc6c9700 RBX: ffffffff81976a48 RCX: 864623fabc6c9700
RDX: 0000000000000001 RSI: ffffffff8d99f40a RDI: ffffffff8be28c40
RBP: ffffffff8de07ea8 R08: ffff88804b032f5b R09: 1ffff110096065eb
R10: dffffc0000000000 R11: ffffed10096065ec R12: ffffffff8fa22cf0
R13: 0000000000000000 R14: 0000000000000000 R15: 1ffffffff1bd2a50
 default_idle+0x13/0x20
 default_idle_call+0x74/0xb0
 do_idle+0x1e8/0x510
 cpu_startup_entry+0x44/0x60
 rest_init+0x2de/0x300
 start_kernel+0x47d/0x500
 x86_64_start_reservations+0x24/0x30
 x86_64_start_kernel+0x143/0x1c0
 common_startup_64+0x13e/0x147
 </TASK>

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x11c16a
flags: 0x57ff00000000000(node=1|zone=2|lastcpupid=0x7ff)
raw: 057ff00000000000 dead000000000100 dead000000000122 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as freed
page last allocated via order 0, migratetype Unmovable, gfp_mask 0xcc0(GFP_KERNEL), pid 303, tgid 302 (syz.0.11858), ts 481433982088, free_ts 482668194725
 post_alloc_hook+0x240/0x2a0
 get_page_from_freelist+0x21e4/0x22c0
 __alloc_frozen_pages_noprof+0x181/0x370
 alloc_pages_bulk_noprof+0x560/0x710
 kasan_populate_vmalloc+0xba/0x1a0
 alloc_vmap_area+0xd51/0x1490
 __get_vm_area_node+0x1f8/0x300
 __vmalloc_node_range_noprof+0x301/0x12f0
 __kvmalloc_node_noprof+0x3b8/0x5f0
 btf_new_fd+0x27b/0xc90
 __sys_bpf+0x635/0x860
 __x64_sys_bpf+0x7c/0x90
 do_syscall_64+0xfa/0x3b0
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
page last free pid 10 tgid 10 stack trace:
 __free_frozen_pages+0xc71/0xe70
 kasan_depopulate_vmalloc_pte+0x74/0xa0
 __apply_to_page_range+0xb92/0x1380
 kasan_release_vmalloc+0xa2/0xd0
 purge_vmap_node+0x214/0x8f0
 __purge_vmap_area_lazy+0x7a4/0xb40
 drain_vmap_area_work+0x27/0x40
 process_scheduled_works+0xae1/0x17b0
 worker_thread+0x8a0/0xda0
 kthread+0x711/0x8a0
 ret_from_fork+0x3fc/0x770
 ret_from_fork_asm+0x1a/0x30

Memory state around the buggy address:
 ffff88811c169f00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88811c169f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff88811c16a000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                  ^
 ffff88811c16a080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88811c16a100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
