================================================================== BUG: KASAN: slab-out-of-bounds in rt6_get_pcpu_route net/ipv6/route.c:1396 [inline] BUG: KASAN: slab-out-of-bounds in ip6_pol_route+0x1097/0x11d0 net/ipv6/route.c:2255 Read of size 4 at addr ffff8880155bf868 by task ksoftirqd/1/19 CPU: 1 PID: 19 Comm: ksoftirqd/1 Not tainted 5.15.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 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+0x6c/0x309 mm/kasan/report.c:256 __kasan_report mm/kasan/report.c:442 [inline] kasan_report.cold+0x83/0xdf mm/kasan/report.c:459 rt6_get_pcpu_route net/ipv6/route.c:1396 [inline] ip6_pol_route+0x1097/0x11d0 net/ipv6/route.c:2255 pol_lookup_func include/net/ip6_fib.h:579 [inline] fib6_rule_lookup+0x111/0x6f0 net/ipv6/fib6_rules.c:115 ip6_route_input_lookup net/ipv6/route.c:2291 [inline] ip6_route_input+0x63c/0xbc0 net/ipv6/route.c:2587 ip6_rcv_finish_core.constprop.0.isra.0+0x168/0x570 net/ipv6/ip6_input.c:63 ip6_rcv_finish net/ipv6/ip6_input.c:74 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] ipv6_rcv+0x229/0x3c0 net/ipv6/ip6_input.c:297 __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:5436 __netif_receive_skb+0x24/0x1b0 net/core/dev.c:5550 process_backlog+0x2a5/0x6c0 net/core/dev.c:6427 __napi_poll+0xaf/0x440 net/core/dev.c:6986 napi_poll net/core/dev.c:7053 [inline] net_rx_action+0x801/0xb40 net/core/dev.c:7140 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 run_ksoftirqd kernel/softirq.c:920 [inline] run_ksoftirqd+0x2d/0x60 kernel/softirq.c:912 smpboot_thread_fn+0x645/0x9c0 kernel/smpboot.c:164 kthread+0x3e5/0x4d0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 Allocated by task 8545: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:434 [inline] __kasan_slab_alloc+0x83/0xb0 mm/kasan/common.c:467 kasan_slab_alloc include/linux/kasan.h:254 [inline] slab_post_alloc_hook mm/slab.h:519 [inline] slab_alloc_node mm/slub.c:3206 [inline] slab_alloc mm/slub.c:3214 [inline] kmem_cache_alloc+0x209/0x390 mm/slub.c:3219 dst_alloc+0x146/0x1f0 net/core/dst.c:92 ip6_dst_alloc+0x2e/0x100 net/ipv6/route.c:341 ip6_rt_pcpu_alloc net/ipv6/route.c:1369 [inline] rt6_make_pcpu_route net/ipv6/route.c:1417 [inline] ip6_pol_route+0x8f3/0x11d0 net/ipv6/route.c:2258 pol_lookup_func include/net/ip6_fib.h:579 [inline] fib6_rule_lookup+0x111/0x6f0 net/ipv6/fib6_rules.c:115 ip6_route_input_lookup net/ipv6/route.c:2291 [inline] ip6_route_input+0x63c/0xbc0 net/ipv6/route.c:2587 ip6_rcv_finish_core.constprop.0.isra.0+0x168/0x570 net/ipv6/ip6_input.c:63 ip6_rcv_finish net/ipv6/ip6_input.c:74 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] ipv6_rcv+0x229/0x3c0 net/ipv6/ip6_input.c:297 __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:5436 __netif_receive_skb+0x24/0x1b0 net/core/dev.c:5550 process_backlog+0x2a5/0x6c0 net/core/dev.c:6427 __napi_poll+0xaf/0x440 net/core/dev.c:6986 napi_poll net/core/dev.c:7053 [inline] net_rx_action+0x801/0xb40 net/core/dev.c:7140 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 Last potentially related work creation: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_record_aux_stack+0xe9/0x110 mm/kasan/generic.c:348 __call_rcu kernel/rcu/tree.c:2987 [inline] call_rcu+0xb1/0x750 kernel/rcu/tree.c:3067 dst_release net/core/dst.c:177 [inline] dst_release+0x79/0xe0 net/core/dst.c:167 refdst_drop include/net/dst.h:261 [inline] skb_dst_drop include/net/dst.h:273 [inline] __dev_queue_xmit+0x1951/0x36e0 net/core/dev.c:4161 neigh_resolve_output net/core/neighbour.c:1492 [inline] neigh_resolve_output+0x50e/0x820 net/core/neighbour.c:1472 neigh_output include/net/neighbour.h:510 [inline] ip6_finish_output2+0x717/0x1500 net/ipv6/ip6_output.c:126 __ip6_finish_output net/ipv6/ip6_output.c:191 [inline] __ip6_finish_output+0x4c1/0x1050 net/ipv6/ip6_output.c:170 ip6_finish_output+0x32/0x200 net/ipv6/ip6_output.c:201 NF_HOOK_COND include/linux/netfilter.h:296 [inline] ip6_output+0x1e4/0x530 net/ipv6/ip6_output.c:224 dst_output include/net/dst.h:450 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] mld_sendpack+0x9a1/0xe40 net/ipv6/mcast.c:1826 mld_send_cr net/ipv6/mcast.c:2127 [inline] mld_ifc_work+0x71c/0xdc0 net/ipv6/mcast.c:2659 process_one_work+0x9bf/0x16b0 kernel/workqueue.c:2297 worker_thread+0x658/0x11f0 kernel/workqueue.c:2444 kthread+0x3e5/0x4d0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 Second to last potentially related work creation: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_record_aux_stack+0xe9/0x110 mm/kasan/generic.c:348 __call_rcu kernel/rcu/tree.c:2987 [inline] call_rcu+0xb1/0x750 kernel/rcu/tree.c:3067 dst_release net/core/dst.c:177 [inline] dst_release+0x79/0xe0 net/core/dst.c:167 refdst_drop include/net/dst.h:261 [inline] skb_dst_drop include/net/dst.h:273 [inline] __dev_queue_xmit+0x1951/0x36e0 net/core/dev.c:4161 neigh_connected_output+0x3b6/0x510 net/core/neighbour.c:1521 neigh_output include/net/neighbour.h:510 [inline] ip6_finish_output2+0x717/0x1500 net/ipv6/ip6_output.c:126 __ip6_finish_output net/ipv6/ip6_output.c:191 [inline] __ip6_finish_output+0x4c1/0x1050 net/ipv6/ip6_output.c:170 ip6_finish_output+0x32/0x200 net/ipv6/ip6_output.c:201 NF_HOOK_COND include/linux/netfilter.h:296 [inline] ip6_output+0x1e4/0x530 net/ipv6/ip6_output.c:224 dst_output include/net/dst.h:450 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] ndisc_send_skb+0xa99/0x17f0 net/ipv6/ndisc.c:508 ndisc_send_rs+0x12e/0x6f0 net/ipv6/ndisc.c:702 addrconf_rs_timer+0x3f2/0x820 net/ipv6/addrconf.c:3893 call_timer_fn+0x1a5/0x6b0 kernel/time/timer.c:1421 expire_timers kernel/time/timer.c:1466 [inline] __run_timers.part.0+0x675/0xa20 kernel/time/timer.c:1734 __run_timers kernel/time/timer.c:1715 [inline] run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1747 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 The buggy address belongs to the object at ffff8880155bf780 which belongs to the cache ip6_dst_cache of size 232 The buggy address is located 0 bytes to the right of 232-byte region [ffff8880155bf780, ffff8880155bf868) The buggy address belongs to the page: page:ffffea0000556fc0 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff8880155bfc80 pfn:0x155bf flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000200 ffffea0001f26748 ffffea0001afcb48 ffff888024d5ac80 raw: ffff8880155bfc80 00000000000c0004 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x12a20(GFP_ATOMIC|__GFP_NOWARN|__GFP_NORETRY), pid 8620, ts 132473924032, free_ts 132462721496 prep_new_page mm/page_alloc.c:2424 [inline] get_page_from_freelist+0xa72/0x2f80 mm/page_alloc.c:4153 __alloc_pages+0x1b2/0x500 mm/page_alloc.c:5375 alloc_pages+0x1a7/0x300 mm/mempolicy.c:2197 alloc_slab_page mm/slub.c:1763 [inline] allocate_slab mm/slub.c:1900 [inline] new_slab+0x319/0x490 mm/slub.c:1963 ___slab_alloc+0x921/0xfe0 mm/slub.c:2994 __slab_alloc.constprop.0+0x4d/0xa0 mm/slub.c:3081 slab_alloc_node mm/slub.c:3172 [inline] slab_alloc mm/slub.c:3214 [inline] kmem_cache_alloc+0x365/0x390 mm/slub.c:3219 dst_alloc+0x146/0x1f0 net/core/dst.c:92 ip6_dst_alloc+0x2e/0x100 net/ipv6/route.c:341 ip6_rt_pcpu_alloc net/ipv6/route.c:1369 [inline] rt6_make_pcpu_route net/ipv6/route.c:1417 [inline] ip6_pol_route+0x8f3/0x11d0 net/ipv6/route.c:2258 pol_lookup_func include/net/ip6_fib.h:579 [inline] fib6_rule_lookup+0x111/0x6f0 net/ipv6/fib6_rules.c:115 ip6_route_input_lookup net/ipv6/route.c:2291 [inline] ip6_route_input+0x63c/0xbc0 net/ipv6/route.c:2587 ip6_rcv_finish_core.constprop.0.isra.0+0x168/0x570 net/ipv6/ip6_input.c:63 ip6_rcv_finish net/ipv6/ip6_input.c:74 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] ipv6_rcv+0x229/0x3c0 net/ipv6/ip6_input.c:297 __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:5436 __netif_receive_skb+0x24/0x1b0 net/core/dev.c:5550 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1338 [inline] free_pcp_prepare+0x2c5/0x780 mm/page_alloc.c:1389 free_unref_page_prepare mm/page_alloc.c:3315 [inline] free_unref_page+0x19/0x690 mm/page_alloc.c:3394 qlink_free mm/kasan/quarantine.c:146 [inline] qlist_free_all+0x5a/0xc0 mm/kasan/quarantine.c:165 kasan_quarantine_reduce+0x180/0x200 mm/kasan/quarantine.c:272 __kasan_slab_alloc+0x95/0xb0 mm/kasan/common.c:444 kasan_slab_alloc include/linux/kasan.h:254 [inline] slab_post_alloc_hook mm/slab.h:519 [inline] slab_alloc_node mm/slub.c:3206 [inline] slab_alloc mm/slub.c:3214 [inline] kmem_cache_alloc+0x209/0x390 mm/slub.c:3219 getname_flags.part.0+0x50/0x4f0 fs/namei.c:138 getname_flags+0x9a/0xe0 include/linux/audit.h:319 user_path_at_empty+0x2b/0x60 fs/namei.c:2800 user_path_at include/linux/namei.h:57 [inline] vfs_statx+0x142/0x390 fs/stat.c:221 vfs_fstatat fs/stat.c:243 [inline] vfs_lstat include/linux/fs.h:3356 [inline] __do_sys_newlstat+0x91/0x110 fs/stat.c:398 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+0x44/0xae Memory state around the buggy address: ffff8880155bf700: fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc ffff8880155bf780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff8880155bf800: 00 00 00 00 00 00 00 00 00 00 00 00 00 fc fc fc ^ ffff8880155bf880: fc fc fc fc fc fc fc fc 00 00 00 00 00 00 00 00 ffff8880155bf900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================