syzbot


KASAN: global-out-of-bounds Read in __find_rr_leaf (2)

Status: upstream: reported on 2025/05/01 14:39
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+15cc51ab13a8d9e2adfe@syzkaller.appspotmail.com
First crash: 16d, last: 2d19h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [net?] KASAN: global-out-of-bounds Read in __find_rr_leaf (2) 0 (1) 2025/05/01 14:39
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: global-out-of-bounds Read in __find_rr_leaf net 1 64d 64d 0/28 closed as invalid on 2025/04/08 14:27

Sample crash report:
==================================================================
BUG: KASAN: global-out-of-bounds in fib6_check_expired include/net/ip6_fib.h:270 [inline]
BUG: KASAN: global-out-of-bounds in __find_rr_leaf+0xbcb/0xe00 net/ipv6/route.c:843
Read of size 4 at addr ffffffff9af98524 by task kworker/1:7/5924

CPU: 1 UID: 0 PID: 5924 Comm: kworker/1:7 Not tainted 6.15.0-rc6-syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
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
 fib6_check_expired include/net/ip6_fib.h:270 [inline]
 __find_rr_leaf+0xbcb/0xe00 net/ipv6/route.c:843
 find_rr_leaf net/ipv6/route.c:899 [inline]
 rt6_select net/ipv6/route.c:934 [inline]
 fib6_table_lookup+0x7b3/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 net/ipv6/ip6_input.c:77 [inline]
 NF_HOOK include/linux/netfilter.h:314 [inline]
 NF_HOOK include/linux/netfilter.h:308 [inline]
 ipv6_rcv+0x1e8/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
 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:
 binder_deferred_list+0x24/0x40

The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1af98
flags: 0xfff00000002000(reserved|node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000002000 ffffea00006be608 ffffea00006be608 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:
 ffffffff9af98400: 00 f9 f9 f9 f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9
 ffffffff9af98480: 00 f9 f9 f9 f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9
>ffffffff9af98500: 00 f9 f9 f9 f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9
                               ^
 ffffffff9af98580: 00 f9 f9 f9 f9 f9 f9 f9 00 00 00 00 00 00 00 00
 ffffffff9af98600: 00 00 00 00 00 00 00 f9 f9 f9 f9 f9 00 00 f9 f9
==================================================================

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/12 02:51 upstream 82f2b0b97b36 77908e5f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root KASAN: global-out-of-bounds Read in __find_rr_leaf
2025/05/02 10:52 upstream ebd297a2affa 51b137cd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root KASAN: global-out-of-bounds Read in __find_rr_leaf
2025/05/07 10:30 upstream 0d8d44db295c 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: global-out-of-bounds Read in __find_rr_leaf
2025/05/14 11:06 upstream 9f35e33144ae a4fa04ef .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: global-out-of-bounds Read in __find_rr_leaf
2025/05/11 00:53 upstream 3ce9925823c7 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: global-out-of-bounds Read in __find_rr_leaf
2025/05/09 19:35 upstream 9c69f8884904 43803998 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: global-out-of-bounds Read in __find_rr_leaf
2025/05/01 04:19 upstream 7a13c14ee59d ce7952f4 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: global-out-of-bounds Read in __find_rr_leaf
* Struck through repros no longer work on HEAD.