================================================================== BUG: KASAN: use-after-free in xfrm_lookup_with_ifid+0x1e13/0x2060 net/xfrm/xfrm_policy.c:3082 Read of size 4 at addr ffff88807089355c by task udevd/23245 CPU: 0 PID: 23245 Comm: udevd Not tainted 5.6.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x188/0x20d lib/dump_stack.c:118 print_address_description.constprop.0.cold+0xd3/0x315 mm/kasan/report.c:374 __kasan_report.cold+0x1a/0x32 mm/kasan/report.c:506 kasan_report+0xe/0x20 mm/kasan/common.c:641 xfrm_lookup_with_ifid+0x1e13/0x2060 net/xfrm/xfrm_policy.c:3082 xfrmi_xmit2 net/xfrm/xfrm_interface.c:272 [inline] xfrmi_xmit+0x3c1/0x1430 net/xfrm/xfrm_interface.c:387 __netdev_start_xmit include/linux/netdevice.h:4524 [inline] netdev_start_xmit include/linux/netdevice.h:4538 [inline] xmit_one net/core/dev.c:3477 [inline] dev_hard_start_xmit+0x1a4/0x9b0 net/core/dev.c:3493 __dev_queue_xmit+0x25e1/0x30a0 net/core/dev.c:4052 neigh_output include/net/neighbour.h:510 [inline] ip6_finish_output2+0x1091/0x25b0 net/ipv6/ip6_output.c:117 __ip6_finish_output+0x442/0xab0 net/ipv6/ip6_output.c:143 ip6_finish_output+0x34/0x1f0 net/ipv6/ip6_output.c:153 NF_HOOK_COND include/linux/netfilter.h:296 [inline] ip6_output+0x239/0x810 net/ipv6/ip6_output.c:176 dst_output include/net/dst.h:436 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] ndisc_send_skb+0xf40/0x14b0 net/ipv6/ndisc.c:505 ndisc_send_rs+0x12e/0x6f0 net/ipv6/ndisc.c:699 addrconf_rs_timer+0x30f/0x6e0 net/ipv6/addrconf.c:3879 call_timer_fn+0x195/0x760 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers kernel/time/timer.c:1773 [inline] __run_timers kernel/time/timer.c:1740 [inline] run_timer_softirq+0x623/0x1600 kernel/time/timer.c:1786 __do_softirq+0x26c/0x99d kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x192/0x1d0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0x19e/0x600 arch/x86/kernel/apic/apic.c:1146 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:752 [inline] RIP: 0010:lock_acquire+0x209/0x420 kernel/locking/lockdep.c:4487 Code: 94 08 00 00 00 00 00 00 48 c1 e8 03 80 3c 10 00 0f 85 de 01 00 00 48 83 3d 0b 20 1b 08 00 0f 84 5a 01 00 00 48 8b 3c 24 57 9d <0f> 1f 44 00 00 48 83 c4 18 5b 5d 41 5c 41 5d 41 5e 41 5f c3 65 8b RSP: 0018:ffffc90004bf7978 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13 RAX: 1ffffffff12e764f RBX: ffff8880a83c6100 RCX: 0000000000004f0e RDX: dffffc0000000000 RSI: 1ffff9200097ef18 RDI: 0000000000000286 RBP: ffff888095db5ae8 R08: ffffffff8c052370 R09: fffffbfff180ed86 R10: fffffbfff180ed85 R11: ffffffff8c076c2f R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 down_write+0x8d/0x150 kernel/locking/rwsem.c:1534 i_mmap_lock_write include/linux/fs.h:526 [inline] dup_mmap kernel/fork.c:571 [inline] dup_mm+0x71e/0x1340 kernel/fork.c:1360 copy_mm kernel/fork.c:1416 [inline] copy_process+0x2987/0x7290 kernel/fork.c:2081 _do_fork+0x12d/0x1010 kernel/fork.c:2430 __do_sys_clone kernel/fork.c:2585 [inline] __se_sys_clone kernel/fork.c:2566 [inline] __x64_sys_clone+0x182/0x210 kernel/fork.c:2566 do_syscall_64+0xf6/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7f1ea6a53f46 Code: f7 d8 64 89 04 25 d4 02 00 00 64 4c 8b 14 25 10 00 00 00 31 d2 49 81 c2 d0 02 00 00 31 f6 bf 11 00 20 01 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 31 01 00 00 85 c0 41 89 c4 0f 85 3b 01 00 RSP: 002b:00007ffd61e76fd0 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 00007ffd61e76fd0 RCX: 00007f1ea6a53f46 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 00007ffd61e77030 R08: 0000000000005acd R09: 0000000000005acd R10: 00007f1ea7370a70 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd61e76ff0 R14: 0000000000000005 R15: 0000000000000005 Allocated by task 23245: save_stack+0x1b/0x80 mm/kasan/common.c:72 set_track mm/kasan/common.c:80 [inline] __kasan_kmalloc mm/kasan/common.c:515 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:488 slab_post_alloc_hook mm/slab.h:584 [inline] slab_alloc mm/slab.c:3320 [inline] kmem_cache_alloc+0x11b/0x730 mm/slab.c:3484 getname_flags fs/namei.c:138 [inline] getname_flags+0xd2/0x5b0 fs/namei.c:128 user_path_at_empty+0x2a/0x50 fs/namei.c:2746 do_readlinkat+0xcd/0x300 fs/stat.c:409 __do_sys_readlink fs/stat.c:442 [inline] __se_sys_readlink fs/stat.c:439 [inline] __x64_sys_readlink+0x74/0xb0 fs/stat.c:439 do_syscall_64+0xf6/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 23245: save_stack+0x1b/0x80 mm/kasan/common.c:72 set_track mm/kasan/common.c:80 [inline] kasan_set_free_info mm/kasan/common.c:337 [inline] __kasan_slab_free+0xf7/0x140 mm/kasan/common.c:476 __cache_free mm/slab.c:3426 [inline] kmem_cache_free+0x7f/0x320 mm/slab.c:3694 putname+0xe1/0x120 fs/namei.c:259 filename_lookup+0x282/0x3e0 fs/namei.c:2475 do_readlinkat+0xcd/0x300 fs/stat.c:409 __do_sys_readlink fs/stat.c:442 [inline] __se_sys_readlink fs/stat.c:439 [inline] __x64_sys_readlink+0x74/0xb0 fs/stat.c:439 do_syscall_64+0xf6/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff888070892900 which belongs to the cache names_cache of size 4096 The buggy address is located 3164 bytes inside of 4096-byte region [ffff888070892900, ffff888070893900) The buggy address belongs to the page: page:ffffea0001c22480 refcount:1 mapcount:0 mapping:ffff88821bc53000 index:0x0 compound_mapcount: 0 flags: 0xfffe0000010200(slab|head) raw: 00fffe0000010200 ffffea00027dcc88 ffffea00017af688 ffff88821bc53000 raw: 0000000000000000 ffff888070892900 0000000100000001 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888070893400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888070893480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888070893500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888070893580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888070893600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================