==================================================================
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:
__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
__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
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
==================================================================