================================================================== BUG: KASAN: use-after-free in decode_session6+0xfc3/0x17f0 net/xfrm/xfrm_policy.c:3376 Read of size 1 at addr ffff88801d950169 by task udevd/3133 CPU: 2 PID: 3133 Comm: udevd Not tainted 6.0.0-rc3-syzkaller-00031-gc5e4d5e99162 #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 mm/kasan/report.c:317 [inline] print_report.cold+0x2ba/0x6e9 mm/kasan/report.c:433 kasan_report+0xb1/0x1e0 mm/kasan/report.c:495 decode_session6+0xfc3/0x17f0 net/xfrm/xfrm_policy.c:3376 __xfrm_decode_session+0x50/0xb0 net/xfrm/xfrm_policy.c:3482 xfrm_decode_session include/net/xfrm.h:1160 [inline] vti6_tnl_xmit+0x419/0x1f90 net/ipv6/ip6_vti.c:577 __netdev_start_xmit include/linux/netdevice.h:4819 [inline] netdev_start_xmit include/linux/netdevice.h:4833 [inline] xmit_one net/core/dev.c:3590 [inline] dev_hard_start_xmit+0x183/0x880 net/core/dev.c:3606 sch_direct_xmit+0x19f/0xbe0 net/sched/sch_generic.c:342 qdisc_restart net/sched/sch_generic.c:407 [inline] __qdisc_run+0x4bb/0x1710 net/sched/sch_generic.c:415 __dev_xmit_skb net/core/dev.c:3880 [inline] __dev_queue_xmit+0x2299/0x3ad0 net/core/dev.c:4222 dev_queue_xmit include/linux/netdevice.h:3008 [inline] neigh_connected_output+0x3c0/0x520 net/core/neighbour.c:1581 neigh_output include/net/neighbour.h:551 [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+0x690/0x1160 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+0xa5f/0x1730 net/ipv6/ndisc.c:508 ndisc_send_rs+0x12e/0x6f0 net/ipv6/ndisc.c:718 addrconf_rs_timer+0x3ed/0x820 net/ipv6/addrconf.c:3927 call_timer_fn+0x1a0/0x6b0 kernel/time/timer.c:1474 expire_timers kernel/time/timer.c:1519 [inline] __run_timers.part.0+0x674/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+0x1d3/0x9c6 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+0x45/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0033:0x7f018032a467 Code: 44 00 00 48 8b 15 11 aa 0c 00 f7 d8 64 89 02 b8 ff ff ff ff eb bc 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 01 c3 48 8b 15 e1 a9 0c 00 f7 d8 64 89 02 b8 RSP: 002b:00007ffd3ebf66c8 EFLAGS: 00000202 RAX: 0000000000000000 RBX: 000056153bf2f130 RCX: 00007f018032a467 RDX: 00007f01803f1780 RSI: 000056153bf3e5e0 RDI: 000000000000000c RBP: 0000000000000000 R08: 0000000000000000 R09: 00007f01803f5a60 R10: 000056153bf3f5e0 R11: 0000000000000202 R12: 00007f01803f2380 R13: 000056153bf2c410 R14: 0000000000000000 R15: 0000000000000000 The buggy address belongs to the physical page: page:ffffea0000765400 refcount:0 mapcount:0 mapping:0000000000000000 index:0x3 pfn:0x1d950 flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000000 ffffea0000765448 ffffea0000764f48 0000000000000000 raw: 0000000000000003 ffff88801d950000 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 0x242220(__GFP_HIGH|__GFP_ATOMIC|__GFP_NOWARN|__GFP_COMP|__GFP_THISNODE), pid 0, tgid 0 (swapper/2), ts 71970204561, free_ts 88778521860 prep_new_page mm/page_alloc.c:2532 [inline] get_page_from_freelist+0x109b/0x2ce0 mm/page_alloc.c:4283 __alloc_pages_slowpath.constprop.0+0x2d7/0x2240 mm/page_alloc.c:5058 __alloc_pages+0x43d/0x510 mm/page_alloc.c:5528 __alloc_pages_node include/linux/gfp.h:243 [inline] kmem_getpages mm/slab.c:1363 [inline] cache_grow_begin+0x75/0x360 mm/slab.c:2569 cache_alloc_refill+0x27f/0x380 mm/slab.c:2942 ____cache_alloc mm/slab.c:3018 [inline] ____cache_alloc mm/slab.c:3001 [inline] __do_cache_alloc mm/slab.c:3246 [inline] kmem_cache_alloc_bulk+0x333/0x470 mm/slab.c:3524 napi_skb_cache_get+0xeb/0x170 net/core/skbuff.c:179 __alloc_skb+0x96/0x2f0 net/core/skbuff.c:416 __napi_alloc_skb+0x93/0x340 net/core/skbuff.c:571 napi_alloc_skb include/linux/skbuff.h:3186 [inline] e1000_alloc_rx_skb drivers/net/ethernet/intel/e1000/e1000_main.c:4112 [inline] e1000_copybreak drivers/net/ethernet/intel/e1000/e1000_main.c:4331 [inline] e1000_clean_rx_irq+0x6ff/0x1080 drivers/net/ethernet/intel/e1000/e1000_main.c:4383 e1000_clean+0x961/0x1c40 drivers/net/ethernet/intel/e1000/e1000_main.c:3803 __napi_poll+0xb3/0x6d0 net/core/dev.c:6511 napi_poll net/core/dev.c:6578 [inline] net_rx_action+0x9c1/0xd90 net/core/dev.c:6689 __do_softirq+0x1d3/0x9c6 kernel/softirq.c:571 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1449 [inline] free_pcp_prepare+0x5e4/0xd20 mm/page_alloc.c:1499 free_unref_page_prepare mm/page_alloc.c:3380 [inline] free_unref_page+0x19/0x4d0 mm/page_alloc.c:3476 slab_destroy mm/slab.c:1615 [inline] slabs_destroy+0x89/0xc0 mm/slab.c:1635 cache_flusharray mm/slab.c:3389 [inline] ___cache_free+0x2a8/0x3d0 mm/slab.c:3452 qlink_free mm/kasan/quarantine.c:168 [inline] qlist_free_all+0x4f/0x1b0 mm/kasan/quarantine.c:187 kasan_quarantine_reduce+0x180/0x200 mm/kasan/quarantine.c:294 __kasan_slab_alloc+0x97/0xb0 mm/kasan/common.c:447 kasan_slab_alloc include/linux/kasan.h:224 [inline] slab_post_alloc_hook mm/slab.h:727 [inline] slab_alloc mm/slab.c:3294 [inline] kmem_cache_alloc_trace+0x212/0x460 mm/slab.c:3557 kmalloc include/linux/slab.h:600 [inline] kzalloc include/linux/slab.h:733 [inline] kernfs_fop_open+0x2fa/0xfd0 fs/kernfs/file.c:680 do_dentry_open+0x4a4/0x13a0 fs/open.c:878 do_open fs/namei.c:3557 [inline] path_openat+0x1c92/0x28f0 fs/namei.c:3691 do_filp_open+0x1b6/0x400 fs/namei.c:3718 do_sys_openat2+0x16d/0x4c0 fs/open.c:1311 do_sys_open fs/open.c:1327 [inline] __do_sys_openat fs/open.c:1343 [inline] __se_sys_openat fs/open.c:1338 [inline] __x64_sys_openat+0x13f/0x1f0 fs/open.c:1338 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd Memory state around the buggy address: ffff88801d950000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff88801d950080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff88801d950100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff88801d950180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff88801d950200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==================================================================