==================================================================
BUG: KFENCE: use-after-free write in rose_timer_expiry+0x22d/0x4b0 net/rose/rose_timer.c:183
Use-after-free write at 0xffff88823be6ee2a (in kfence-#54):
rose_timer_expiry+0x22d/0x4b0 net/rose/rose_timer.c:183
call_timer_fn+0x17b/0x5f0 kernel/time/timer.c:1789
expire_timers kernel/time/timer.c:1840 [inline]
__run_timers kernel/time/timer.c:2414 [inline]
__run_timer_base+0x61a/0x860 kernel/time/timer.c:2426
run_timer_base kernel/time/timer.c:2435 [inline]
run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2445
handle_softirqs+0x283/0x870 kernel/softirq.c:579
__do_softirq kernel/softirq.c:613 [inline]
invoke_softirq kernel/softirq.c:453 [inline]
__irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
irq_exit_rcu+0x9/0x30 kernel/softirq.c:696
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
lock_release+0x2b5/0x3e0 kernel/locking/lockdep.c:5891
rcu_lock_release include/linux/rcupdate.h:341 [inline]
rcu_read_unlock include/linux/rcupdate.h:871 [inline]
class_rcu_destructor include/linux/rcupdate.h:1155 [inline]
unwind_next_frame+0x19a9/0x2390 arch/x86/kernel/unwind_orc.c:680
arch_stack_walk+0x11c/0x150 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:68
kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:576
poison_slab_object mm/kasan/common.c:247 [inline]
__kasan_slab_free+0x62/0x70 mm/kasan/common.c:264
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2398 [inline]
slab_free mm/slub.c:4656 [inline]
kmem_cache_free+0x192/0x3f0 mm/slub.c:4758
nsim_dev_trap_report drivers/net/netdevsim/dev.c:821 [inline]
nsim_dev_trap_report_work+0x7cf/0xb80 drivers/net/netdevsim/dev.c:851
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xadb/0x17a0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
kfence-#54: 0xffff88823be6e000-0xffff88823be6e0ef, size=240, cache=skbuff_head_cache
allocated by task 5883 on cpu 1 at 281.752135s (4.925722s ago):
skb_clone+0x212/0x3a0 net/core/skbuff.c:2056
deliver_clone net/bridge/br_forward.c:125 [inline]
maybe_deliver+0x98/0x160 net/bridge/br_forward.c:190
br_flood+0x31a/0x6a0 net/bridge/br_forward.c:237
br_handle_frame_finish+0x146c/0x1950 net/bridge/br_input.c:220
nf_hook_bridge_pre net/bridge/br_input.c:304 [inline]
br_handle_frame+0xb89/0x14c0 net/bridge/br_input.c:433
__netif_receive_skb_core+0x10de/0x4180 net/core/dev.c:5773
__netif_receive_skb_one_core net/core/dev.c:5885 [inline]
__netif_receive_skb+0x72/0x380 net/core/dev.c:6000
process_backlog+0x60e/0x14f0 net/core/dev.c:6352
__napi_poll+0xc4/0x480 net/core/dev.c:7324
napi_poll net/core/dev.c:7388 [inline]
net_rx_action+0x6ea/0xdf0 net/core/dev.c:7510
handle_softirqs+0x283/0x870 kernel/softirq.c:579
do_softirq+0xec/0x180 kernel/softirq.c:480
__local_bh_enable_ip+0x17d/0x1c0 kernel/softirq.c:407
spin_unlock_bh include/linux/spinlock.h:396 [inline]
ptr_ring_consume_bh include/linux/ptr_ring.h:367 [inline]
wg_packet_encrypt_worker+0x167a/0x1720 drivers/net/wireguard/send.c:293
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xadb/0x17a0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
freed by task 5883 on cpu 1 at 281.753002s (5.027363s ago):
kfree_skb_reason include/linux/skbuff.h:1279 [inline]
NF_DROP_REASON include/linux/netfilter.h:30 [inline]
nft_do_chain+0x174e/0x1920 net/netfilter/nf_tables_core.c:-1
nft_do_chain_inet+0x25d/0x340 net/netfilter/nft_chain_filter.c:161
nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]
nf_hook_slow+0xc2/0x220 net/netfilter/core.c:626
nf_hook include/linux/netfilter.h:269 [inline]
NF_HOOK+0x206/0x3a0 include/linux/netfilter.h:312
__netif_receive_skb_one_core net/core/dev.c:5887 [inline]
__netif_receive_skb+0xd3/0x380 net/core/dev.c:6000
netif_receive_skb_internal net/core/dev.c:6086 [inline]
netif_receive_skb+0x1cb/0x790 net/core/dev.c:6145
NF_HOOK+0x9d/0x390 include/linux/netfilter.h:315
br_handle_frame_finish+0x1489/0x1950 net/bridge/br_input.c:-1
nf_hook_bridge_pre net/bridge/br_input.c:304 [inline]
br_handle_frame+0xb89/0x14c0 net/bridge/br_input.c:433
__netif_receive_skb_core+0x10de/0x4180 net/core/dev.c:5773
__netif_receive_skb_one_core net/core/dev.c:5885 [inline]
__netif_receive_skb+0x72/0x380 net/core/dev.c:6000
process_backlog+0x60e/0x14f0 net/core/dev.c:6352
__napi_poll+0xc4/0x480 net/core/dev.c:7324
napi_poll net/core/dev.c:7388 [inline]
net_rx_action+0x6ea/0xdf0 net/core/dev.c:7510
handle_softirqs+0x283/0x870 kernel/softirq.c:579
do_softirq+0xec/0x180 kernel/softirq.c:480
__local_bh_enable_ip+0x17d/0x1c0 kernel/softirq.c:407
spin_unlock_bh include/linux/spinlock.h:396 [inline]
ptr_ring_consume_bh include/linux/ptr_ring.h:367 [inline]
wg_packet_encrypt_worker+0x167a/0x1720 drivers/net/wireguard/send.c:293
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xadb/0x17a0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
CPU: 0 UID: 0 PID: 36 Comm: kworker/u8:2 Not tainted 6.15.0-rc4-syzkaller-00163-ge8716b5b0dff #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/29/2025
Workqueue: events_unbound nsim_dev_trap_report_work
RIP: 0010:rose_timer_expiry+0x22d/0x4b0 net/rose/rose_timer.c:183
Code: 80 3c 28 00 74 08 4c 89 e7 e8 4f 1e d5 f7 4d 8b 24 24 49 83 c4 2a 4c 89 e0 48 c1 e8 03 42 0f b6 04 28 84 c0 0f 85 2c 02 00 00 <66> 41 ff 0c 24 4c 89 ff be 6e 00 00 00 ba ff ff ff ff b9 ff ff ff
RSP: 0018:ffffc90000007b68 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8880292fc6f8 RCX: ffff88801ceb1e00
RDX: 0000000000000100 RSI: ffffffff8f44f690 RDI: 0000000000000002
RBP: 1ffff1100525f8bd R08: ffff88801ceb1e00 R09: 0000000000000004
R10: 0000000000000004 R11: 0000000000000100 R12: ffff88823be6ee2a
R13: dffffc0000000000 R14: ffff8880292fc1c0 R15: ffff8880292fc000
FS: 0000000000000000(0000) GS:ffff8881260cc000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff88823be6ee2a CR3: 000000002ea8e000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
call_timer_fn+0x17b/0x5f0 kernel/time/timer.c:1789
expire_timers kernel/time/timer.c:1840 [inline]
__run_timers kernel/time/timer.c:2414 [inline]
__run_timer_base+0x61a/0x860 kernel/time/timer.c:2426
run_timer_base kernel/time/timer.c:2435 [inline]
run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2445
handle_softirqs+0x283/0x870 kernel/softirq.c:579
__do_softirq kernel/softirq.c:613 [inline]
invoke_softirq kernel/softirq.c:453 [inline]
__irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
irq_exit_rcu+0x9/0x30 kernel/softirq.c:696
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:lock_release+0x2b5/0x3e0 kernel/locking/lockdep.c:5891
Code: 51 48 c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f7 44 24 20 00 02 00 00 75 56 f7 c3 00 02 00 00 74 01 fb 65 48 8b 05 fb 1e d7 10 <48> 3b 44 24 28 0f 85 8b 00 00 00 48 83 c4 30 5b 41 5c 41 5d 41 5e
RSP: 0018:ffffc90000ad7510 EFLAGS: 00000206
RAX: 6a41a43c859e7e00 RBX: 0000000000000206 RCX: 6a41a43c859e7e00
RDX: 0000000000000004 RSI: ffffffff8d93503a RDI: ffffffff8bc1cde0
RBP: ffff88801ceb2990 R08: ffffc90000ad79a8 R09: 0000000000000000
R10: ffffc90000ad7698 R11: fffff5200015aed5 R12: 0000000000000004
R13: 0000000000000004 R14: ffffffff8df3b860 R15: ffff88801ceb1e00
rcu_lock_release include/linux/rcupdate.h:341 [inline]
rcu_read_unlock include/linux/rcupdate.h:871 [inline]
class_rcu_destructor include/linux/rcupdate.h:1155 [inline]
unwind_next_frame+0x19a9/0x2390 arch/x86/kernel/unwind_orc.c:680
arch_stack_walk+0x11c/0x150 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:68
kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:576
poison_slab_object mm/kasan/common.c:247 [inline]
__kasan_slab_free+0x62/0x70 mm/kasan/common.c:264
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2398 [inline]
slab_free mm/slub.c:4656 [inline]
kmem_cache_free+0x192/0x3f0 mm/slub.c:4758
nsim_dev_trap_report drivers/net/netdevsim/dev.c:821 [inline]
nsim_dev_trap_report_work+0x7cf/0xb80 drivers/net/netdevsim/dev.c:851
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xadb/0x17a0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
==================================================================
----------------
Code disassembly (best guess):
0: 80 3c 28 00 cmpb $0x0,(%rax,%rbp,1)
4: 74 08 je 0xe
6: 4c 89 e7 mov %r12,%rdi
9: e8 4f 1e d5 f7 call 0xf7d51e5d
e: 4d 8b 24 24 mov (%r12),%r12
12: 49 83 c4 2a add $0x2a,%r12
16: 4c 89 e0 mov %r12,%rax
19: 48 c1 e8 03 shr $0x3,%rax
1d: 42 0f b6 04 28 movzbl (%rax,%r13,1),%eax
22: 84 c0 test %al,%al
24: 0f 85 2c 02 00 00 jne 0x256
* 2a: 66 41 ff 0c 24 decw (%r12) <-- trapping instruction
2f: 4c 89 ff mov %r15,%rdi
32: be 6e 00 00 00 mov $0x6e,%esi
37: ba ff ff ff ff mov $0xffffffff,%edx
3c: b9 .byte 0xb9
3d: ff (bad)
3e: ff (bad)
3f: ff .byte 0xff