================================================================== BUG: KASAN: global-out-of-bounds in __find_rr_leaf+0xbdf/0xe00 net/ipv6/route.c:838 Read of size 4 at addr ffffffff9af80bf0 by task kworker/3:0/34 CPU: 3 UID: 0 PID: 34 Comm: kworker/3:0 Not tainted 6.15.0-rc5-syzkaller-00136-g9c69f8884904 #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: mld mld_ifc_work Call Trace: <IRQ> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xc3/0x670 mm/kasan/report.c:521 kasan_report+0xe0/0x110 mm/kasan/report.c:634 __find_rr_leaf+0xbdf/0xe00 net/ipv6/route.c:838 find_rr_leaf net/ipv6/route.c:890 [inline] rt6_select net/ipv6/route.c:934 [inline] fib6_table_lookup+0x57c/0xa30 net/ipv6/route.c:2230 ip6_pol_route+0x1cc/0x1230 net/ipv6/route.c:2266 pol_lookup_func include/net/ip6_fib.h:616 [inline] fib6_rule_lookup+0x536/0x720 net/ipv6/fib6_rules.c:120 ip6_route_input_lookup net/ipv6/route.c:2335 [inline] ip6_route_input+0x662/0xc00 net/ipv6/route.c:2631 ip6_rcv_finish_core.constprop.0+0x1a0/0x5d0 net/ipv6/ip6_input.c:66 ip6_rcv_finish+0x130/0x5b0 net/ipv6/ip6_input.c:77 ip_sabotage_in+0x21b/0x290 net/bridge/br_netfilter_hooks.c:993 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xbb/0x200 net/netfilter/core.c:626 nf_hook.constprop.0+0x422/0x750 include/linux/netfilter.h:269 NF_HOOK include/linux/netfilter.h:312 [inline] ipv6_rcv+0xa4/0x680 net/ipv6/ip6_input.c:309 __netif_receive_skb_one_core+0x12d/0x1e0 net/core/dev.c:5887 __netif_receive_skb+0x1d/0x160 net/core/dev.c:6000 netif_receive_skb_internal net/core/dev.c:6086 [inline] netif_receive_skb+0x137/0x7b0 net/core/dev.c:6145 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] br_pass_frame_up+0x346/0x490 net/bridge/br_input.c:70 br_handle_frame_finish+0xebb/0x1c20 net/bridge/br_input.c:226 br_nf_hook_thresh+0x301/0x410 net/bridge/br_netfilter_hooks.c:1170 br_nf_pre_routing_finish_ipv6+0x76a/0xfb0 net/bridge/br_netfilter_ipv6.c:154 NF_HOOK include/linux/netfilter.h:314 [inline] br_nf_pre_routing_ipv6+0x3cd/0x8c0 net/bridge/br_netfilter_ipv6.c:184 br_nf_pre_routing+0x860/0x15b0 net/bridge/br_netfilter_hooks.c:508 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_bridge_pre net/bridge/br_input.c:282 [inline] br_handle_frame+0xad5/0x14a0 net/bridge/br_input.c:433 __netif_receive_skb_core.constprop.0+0xa23/0x4a00 net/core/dev.c:5773 __netif_receive_skb_one_core+0xb0/0x1e0 net/core/dev.c:5885 __netif_receive_skb+0x1d/0x160 net/core/dev.c:6000 process_backlog+0x442/0x15e0 net/core/dev.c:6352 __napi_poll.constprop.0+0xb7/0x550 net/core/dev.c:7324 napi_poll net/core/dev.c:7388 [inline] net_rx_action+0xa97/0x1010 net/core/dev.c:7510 handle_softirqs+0x216/0x8e0 kernel/softirq.c:579 do_softirq kernel/softirq.c:480 [inline] do_softirq+0xb2/0xf0 kernel/softirq.c:467 </IRQ> <TASK> __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:407 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:910 [inline] __dev_queue_xmit+0x8ab/0x43e0 net/core/dev.c:4656 dev_queue_xmit include/linux/netdevice.h:3350 [inline] neigh_hh_output include/net/neighbour.h:523 [inline] neigh_output include/net/neighbour.h:537 [inline] ip6_finish_output2+0xe98/0x2020 net/ipv6/ip6_output.c:141 __ip6_finish_output net/ipv6/ip6_output.c:215 [inline] ip6_finish_output+0x3f9/0x1360 net/ipv6/ip6_output.c:226 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip6_output+0x1f9/0x540 net/ipv6/ip6_output.c:247 dst_output include/net/dst.h:459 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] mld_sendpack+0x9e9/0x1220 net/ipv6/mcast.c:1868 mld_send_cr net/ipv6/mcast.c:2169 [inline] mld_ifc_work+0x740/0xca0 net/ipv6/mcast.c:2702 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400 kthread+0x3c2/0x780 kernel/kthread.c:464 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> The buggy address belongs to the variable: __key.0+0x10/0x40 The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1af80 flags: 0xfff00000002000(reserved|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000002000 ffffea00006be008 ffffea00006be008 0000000000000000 raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner info is not present (never set?) Memory state around the buggy address: ffffffff9af80a80: f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9 00 f9 f9 f9 ffffffff9af80b00: f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9 00 f9 f9 f9 >ffffffff9af80b80: f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9 00 00 f9 f9 ^ ffffffff9af80c00: f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9 00 00 00 00 ffffffff9af80c80: 00 00 00 00 00 00 00 00 00 00 00 f9 f9 f9 f9 f9 ==================================================================