================================================================== BUG: KASAN: slab-use-after-free in rose_timer_expiry+0x471/0x4b0 net/rose/rose_timer.c:183 Read of size 2 at addr ffff888033a0a42a by task swapper/1/0 CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Not tainted 6.15.0-rc5-syzkaller-01021-g0b28182c73a3 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xb4/0x290 mm/kasan/report.c:521 kasan_report+0x118/0x150 mm/kasan/report.c:634 rose_timer_expiry+0x471/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 RIP: 0010:pv_native_safe_halt+0x13/0x20 arch/x86/kernel/paravirt.c:81 Code: cc cc cc cc cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 66 90 0f 00 2d 03 eb 10 00 f3 0f 1e fa fb f4 cc cc cc cc cc cc cc cc cc cc cc cc 90 90 90 90 90 90 90 90 90 RSP: 0018:ffffc90000197de0 EFLAGS: 000002c6 RAX: c16331d28db83300 RBX: ffffffff81974f28 RCX: c16331d28db83300 RDX: 0000000000000001 RSI: ffffffff8d7517fa RDI: ffffffff8bc1d4a0 RBP: ffffc90000197f20 R08: ffff8880b8932b5b R09: 1ffff1101712656b R10: dffffc0000000000 R11: ffffed101712656c R12: ffffffff8f7f2d70 R13: 0000000000000001 R14: 0000000000000001 R15: 1ffff110038deb40 arch_safe_halt arch/x86/include/asm/paravirt.h:107 [inline] default_idle+0x13/0x20 arch/x86/kernel/process.c:748 default_idle_call+0x74/0xb0 kernel/sched/idle.c:117 cpuidle_idle_call kernel/sched/idle.c:185 [inline] do_idle+0x1e8/0x510 kernel/sched/idle.c:325 cpu_startup_entry+0x44/0x60 kernel/sched/idle.c:423 start_secondary+0x101/0x110 arch/x86/kernel/smpboot.c:315 common_startup_64+0x13e/0x147 Allocated by task 11599: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4327 [inline] __kmalloc_node_track_caller_noprof+0x271/0x4e0 mm/slub.c:4346 kmemdup_noprof+0x2b/0x70 mm/util.c:137 _Z14kmemdup_noprofPKvU25pass_dynamic_object_size0mj include/linux/fortify-string.h:765 [inline] cache_create_net+0x2f/0x260 net/sunrpc/cache.c:1742 ip_map_cache_create+0x56/0x100 net/sunrpc/svcauth_unix.c:1041 sunrpc_init_net+0x49/0x160 net/sunrpc/sunrpc_syms.c:42 ops_init+0x359/0x5c0 net/core/net_namespace.c:138 setup_net+0x219/0x4b0 net/core/net_namespace.c:442 copy_net_ns+0x32e/0x590 net/core/net_namespace.c:574 create_new_namespaces+0x3d3/0x700 kernel/nsproxy.c:110 unshare_nsproxy_namespaces+0x11c/0x170 kernel/nsproxy.c:228 ksys_unshare+0x4c8/0x8c0 kernel/fork.c:3375 __do_sys_unshare kernel/fork.c:3446 [inline] __se_sys_unshare kernel/fork.c:3444 [inline] __x64_sys_unshare+0x38/0x50 kernel/fork.c:3444 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 3512: 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:2380 [inline] slab_free mm/slub.c:4642 [inline] kfree+0x193/0x440 mm/slub.c:4841 sunrpc_exit_net+0x38/0x90 net/sunrpc/sunrpc_syms.c:75 ops_exit_list net/core/net_namespace.c:200 [inline] ops_undo_list+0x497/0x990 net/core/net_namespace.c:253 cleanup_net+0x4c5/0x8a0 net/core/net_namespace.c:686 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 The buggy address belongs to the object at ffff888033a0a400 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 42 bytes inside of freed 512-byte region [ffff888033a0a400, ffff888033a0a600) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff888033a0a000 pfn:0x33a08 head: order:2 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0xfff00000000240(workingset|head|node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000240 ffff88801a041c80 ffffea00009d1410 ffffea0001999410 raw: ffff888033a0a000 000000000010000f 00000000f5000000 0000000000000000 head: 00fff00000000240 ffff88801a041c80 ffffea00009d1410 ffffea0001999410 head: ffff888033a0a000 000000000010000f 00000000f5000000 0000000000000000 head: 00fff00000000002 ffffea0000ce8201 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 0xd2040(__GFP_IO|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 5482, tgid 5482 (S35iptables), ts 51486432435, free_ts 51287123141 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x1d8/0x230 mm/page_alloc.c:1714 prep_new_page mm/page_alloc.c:1722 [inline] get_page_from_freelist+0x21e0/0x22c0 mm/page_alloc.c:3684 __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:4966 alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2301 alloc_slab_page mm/slub.c:2450 [inline] allocate_slab+0x8a/0x3b0 mm/slub.c:2618 new_slab mm/slub.c:2672 [inline] ___slab_alloc+0xbfc/0x1480 mm/slub.c:3858 __slab_alloc mm/slub.c:3948 [inline] __slab_alloc_node mm/slub.c:4023 [inline] slab_alloc_node mm/slub.c:4184 [inline] __do_kmalloc_node mm/slub.c:4326 [inline] __kmalloc_noprof+0x305/0x4f0 mm/slub.c:4339 kmalloc_noprof include/linux/slab.h:909 [inline] kzalloc_noprof include/linux/slab.h:1039 [inline] tomoyo_init_log+0x1a6e/0x1f70 security/tomoyo/audit.c:275 tomoyo_supervisor+0x340/0x1480 security/tomoyo/common.c:2198 tomoyo_audit_path_log security/tomoyo/file.c:168 [inline] tomoyo_path_permission+0x25a/0x380 security/tomoyo/file.c:587 tomoyo_path_perm+0x392/0x4b0 security/tomoyo/file.c:838 security_inode_getattr+0x12f/0x330 security/security.c:2377 vfs_getattr fs/stat.c:256 [inline] vfs_fstat fs/stat.c:278 [inline] __do_sys_newfstat fs/stat.c:546 [inline] __se_sys_newfstat fs/stat.c:543 [inline] __x64_sys_newfstat+0xfe/0x200 fs/stat.c:543 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f page last free pid 5479 tgid 5479 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1258 [inline] __free_frozen_pages+0xb14/0xce0 mm/page_alloc.c:2721 __slab_free+0x326/0x400 mm/slub.c:4553 qlink_free mm/kasan/quarantine.c:163 [inline] qlist_free_all+0x9a/0x140 mm/kasan/quarantine.c:179 kasan_quarantine_reduce+0x148/0x160 mm/kasan/quarantine.c:286 __kasan_slab_alloc+0x22/0x80 mm/kasan/common.c:329 kasan_slab_alloc include/linux/kasan.h:250 [inline] slab_post_alloc_hook mm/slub.c:4147 [inline] slab_alloc_node mm/slub.c:4196 [inline] kmem_cache_alloc_noprof+0x1c1/0x3c0 mm/slub.c:4203 new_handle fs/jbd2/transaction.c:457 [inline] jbd2__journal_start+0x146/0x5b0 fs/jbd2/transaction.c:484 __ext4_journal_start_sb+0x227/0x5c0 fs/ext4/ext4_jbd2.c:114 __ext4_journal_start fs/ext4/ext4_jbd2.h:242 [inline] ext4_dirty_inode+0x93/0x110 fs/ext4/inode.c:6100 __mark_inode_dirty+0x2ce/0xdf0 fs/fs-writeback.c:2527 generic_update_time fs/inode.c:2064 [inline] inode_update_time fs/inode.c:2077 [inline] touch_atime+0x59b/0x6d0 fs/inode.c:2149 file_accessed include/linux/fs.h:2599 [inline] filemap_read+0x1024/0x11d0 mm/filemap.c:2774 __kernel_read+0x469/0x8c0 fs/read_write.c:528 integrity_kernel_read+0x89/0xd0 security/integrity/iint.c:28 ima_calc_file_hash_tfm security/integrity/ima/ima_crypto.c:480 [inline] ima_calc_file_shash security/integrity/ima/ima_crypto.c:511 [inline] ima_calc_file_hash+0x152c/0x18d0 security/integrity/ima/ima_crypto.c:568 ima_collect_measurement+0x42e/0x8e0 security/integrity/ima/ima_api.c:293 Memory state around the buggy address: ffff888033a0a300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888033a0a380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff888033a0a400: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888033a0a480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888033a0a500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== ---------------- Code disassembly (best guess): 0: cc int3 1: cc int3 2: cc int3 3: cc int3 4: cc int3 5: cc int3 6: cc int3 7: 90 nop 8: 90 nop 9: 90 nop a: 90 nop b: 90 nop c: 90 nop d: 90 nop e: 90 nop f: 90 nop 10: 90 nop 11: 90 nop 12: 90 nop 13: 90 nop 14: 90 nop 15: 90 nop 16: 90 nop 17: f3 0f 1e fa endbr64 1b: 66 90 xchg %ax,%ax 1d: 0f 00 2d 03 eb 10 00 verw 0x10eb03(%rip) # 0x10eb27 24: f3 0f 1e fa endbr64 28: fb sti 29: f4 hlt * 2a: c3 ret <-- trapping instruction 2b: cc int3 2c: cc int3 2d: cc int3 2e: cc int3 2f: cc int3 30: cc int3 31: cc int3 32: cc int3 33: cc int3 34: cc int3 35: cc int3 36: cc int3 37: 90 nop 38: 90 nop 39: 90 nop 3a: 90 nop 3b: 90 nop 3c: 90 nop 3d: 90 nop 3e: 90 nop 3f: 90 nop