================================================================== BUG: KASAN: use-after-free in decode_session6+0xfc3/0x17f0 net/xfrm/xfrm_policy.c:3373 Read of size 1 at addr ffff88802529bf70 by task swapper/0/0 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.19.0-rc3-syzkaller-00048-gde5c208d533a #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_address_description.constprop.0.cold+0xeb/0x467 mm/kasan/report.c:313 print_report mm/kasan/report.c:429 [inline] kasan_report.cold+0xf4/0x1c6 mm/kasan/report.c:491 decode_session6+0xfc3/0x17f0 net/xfrm/xfrm_policy.c:3373 __xfrm_decode_session+0x50/0xb0 net/xfrm/xfrm_policy.c:3479 xfrm_decode_session include/net/xfrm.h:1160 [inline] vti6_tnl_xmit+0x419/0x1fe0 net/ipv6/ip6_vti.c:577 __netdev_start_xmit include/linux/netdevice.h:4805 [inline] netdev_start_xmit include/linux/netdevice.h:4819 [inline] xmit_one net/core/dev.c:3588 [inline] dev_hard_start_xmit+0x188/0x880 net/core/dev.c:3604 sch_direct_xmit+0x19f/0xbe0 net/sched/sch_generic.c:342 qdisc_restart net/sched/sch_generic.c:407 [inline] __qdisc_run+0x4c0/0x1720 net/sched/sch_generic.c:415 __dev_xmit_skb net/core/dev.c:3878 [inline] __dev_queue_xmit+0x217a/0x3900 net/core/dev.c:4219 dev_queue_xmit include/linux/netdevice.h:2994 [inline] neigh_connected_output+0x3c0/0x520 net/core/neighbour.c:1557 neigh_output include/net/neighbour.h:549 [inline] ip6_finish_output2+0x564/0x1520 net/ipv6/ip6_output.c:134 __ip6_finish_output net/ipv6/ip6_output.c:195 [inline] ip6_finish_output+0x844/0x1170 net/ipv6/ip6_output.c:206 NF_HOOK_COND include/linux/netfilter.h:296 [inline] ip6_output+0x1ed/0x540 net/ipv6/ip6_output.c:227 dst_output include/net/dst.h:451 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] ndisc_send_skb+0xa64/0x1740 net/ipv6/ndisc.c:507 ndisc_send_rs+0x12e/0x6f0 net/ipv6/ndisc.c:717 addrconf_rs_timer+0x3f2/0x820 net/ipv6/addrconf.c:3931 call_timer_fn+0x1a5/0x6b0 kernel/time/timer.c:1474 expire_timers kernel/time/timer.c:1519 [inline] __run_timers.part.0+0x679/0xa80 kernel/time/timer.c:1790 __run_timers kernel/time/timer.c:1768 [inline] run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1803 __do_softirq+0x29b/0x9c2 kernel/softirq.c:571 invoke_softirq kernel/softirq.c:445 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:650 irq_exit_rcu+0x5/0x20 kernel/softirq.c:662 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0010:default_idle+0xb/0x10 arch/x86/kernel/process.c:731 Code: ff ff ff 48 89 df e8 f4 1e 4c f8 e9 55 ff ff ff 4c 89 e7 e8 e7 1e 4c f8 eb 96 0f 1f 44 00 00 eb 07 0f 00 2d 17 0b 4d 00 fb f4 cc cc cc cc 41 55 41 54 55 48 89 fd 53 e8 82 fb ff f7 e8 7d 0d RSP: 0018:ffffffff8ba07e18 EFLAGS: 00000202 RAX: 0000000000da7e5b RBX: ffffffff8babc940 RCX: ffffffff8976adf1 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000001 R09: ffff88802c83afd3 R10: ffffed10059075fa R11: 0000000000000001 R12: fffffbfff1757928 R13: 0000000000000000 R14: ffffffff8dbade10 R15: 0000000000000000 default_idle_call+0x80/0xc0 kernel/sched/idle.c:109 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x401/0x590 kernel/sched/idle.c:303 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:400 rest_init+0x169/0x270 init/main.c:726 arch_call_rest_init+0xf/0x14 init/main.c:882 start_kernel+0x46e/0x48f init/main.c:1137 secondary_startup_64_no_verify+0xce/0xdb The buggy address belongs to the physical page: page:ffffea000094a6c0 refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x2529b flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000000 dead000000000100 dead000000000122 0000000000000000 raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 0, migratetype Movable, gfp_mask 0x152c4a(GFP_NOFS|__GFP_HIGHMEM|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_HARDWALL|__GFP_MOVABLE), pid 3693, tgid 3688 (syz-fuzzer), ts 2962252089193, free_ts 2962268547640 prep_new_page mm/page_alloc.c:2456 [inline] get_page_from_freelist+0x1290/0x3b70 mm/page_alloc.c:4198 __alloc_pages_slowpath.constprop.0+0x2e9/0x2160 mm/page_alloc.c:4973 __alloc_pages+0x436/0x510 mm/page_alloc.c:5439 alloc_pages+0x1aa/0x310 mm/mempolicy.c:2272 folio_alloc+0x1c/0x70 mm/mempolicy.c:2282 filemap_alloc_folio+0x8e/0xb0 mm/filemap.c:996 page_cache_ra_unbounded+0x1af/0x550 mm/readahead.c:242 do_page_cache_ra mm/readahead.c:293 [inline] page_cache_ra_order+0x680/0x940 mm/readahead.c:548 do_sync_mmap_readahead mm/filemap.c:3047 [inline] filemap_fault+0x1605/0x24e0 mm/filemap.c:3139 __do_fault+0x10d/0x650 mm/memory.c:4165 do_read_fault mm/memory.c:4511 [inline] do_fault mm/memory.c:4640 [inline] handle_pte_fault mm/memory.c:4903 [inline] __handle_mm_fault+0x2739/0x3f50 mm/memory.c:5042 handle_mm_fault+0x1c8/0x790 mm/memory.c:5140 do_user_addr_fault+0x489/0x11c0 arch/x86/mm/fault.c:1397 handle_page_fault arch/x86/mm/fault.c:1484 [inline] exc_page_fault+0x9e/0x180 arch/x86/mm/fault.c:1540 asm_exc_page_fault+0x27/0x30 arch/x86/include/asm/idtentry.h:570 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1371 [inline] free_pcp_prepare+0x549/0xd20 mm/page_alloc.c:1421 free_unref_page_prepare mm/page_alloc.c:3343 [inline] free_unref_page_list+0x16f/0xf80 mm/page_alloc.c:3475 shrink_page_list+0x2d27/0x3a50 mm/vmscan.c:1979 shrink_inactive_list mm/vmscan.c:2386 [inline] shrink_list mm/vmscan.c:2616 [inline] shrink_lruvec+0xccf/0x2620 mm/vmscan.c:2933 shrink_node_memcgs mm/vmscan.c:3122 [inline] shrink_node+0x84a/0x1db0 mm/vmscan.c:3245 kswapd_shrink_node mm/vmscan.c:4024 [inline] balance_pgdat+0x8ef/0x1570 mm/vmscan.c:4215 kswapd+0x7a5/0xf80 mm/vmscan.c:4475 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 Memory state around the buggy address: ffff88802529be00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff88802529be80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff88802529bf00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff88802529bf80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff88802529c000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== ---------------- Code disassembly (best guess), 3 bytes skipped: 0: 48 89 df mov %rbx,%rdi 3: e8 f4 1e 4c f8 callq 0xf84c1efc 8: e9 55 ff ff ff jmpq 0xffffff62 d: 4c 89 e7 mov %r12,%rdi 10: e8 e7 1e 4c f8 callq 0xf84c1efc 15: eb 96 jmp 0xffffffad 17: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 1c: eb 07 jmp 0x25 1e: 0f 00 2d 17 0b 4d 00 verw 0x4d0b17(%rip) # 0x4d0b3c 25: fb sti 26: f4 hlt * 27: c3 retq <-- trapping instruction 28: cc int3 29: cc int3 2a: cc int3 2b: cc int3 2c: 41 55 push %r13 2e: 41 54 push %r12 30: 55 push %rbp 31: 48 89 fd mov %rdi,%rbp 34: 53 push %rbx 35: e8 82 fb ff f7 callq 0xf7fffbbc 3a: e8 .byte 0xe8 3b: 7d 0d jge 0x4a