================================================================== BUG: KASAN: global-out-of-bounds in fib6_clean_node+0x2b4/0x49c net/ipv6/ip6_fib.c:2198 Read of size 8 at addr ffff8000974c08a8 by task kworker/u8:7/4313 CPU: 1 UID: 0 PID: 4313 Comm: kworker/u8:7 Not tainted 6.15.0-rc7-syzkaller-gd7fa1af5b33e #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: netns cleanup_net Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_address_description+0xa8/0x254 mm/kasan/report.c:408 print_report+0x68/0x84 mm/kasan/report.c:521 kasan_report+0xb0/0x110 mm/kasan/report.c:634 __asan_report_load8_noabort+0x20/0x2c mm/kasan/report_generic.c:381 fib6_clean_node+0x2b4/0x49c net/ipv6/ip6_fib.c:2198 fib6_walk_continue+0x654/0x878 net/ipv6/ip6_fib.c:2124 fib6_walk+0x140/0x254 net/ipv6/ip6_fib.c:2172 fib6_clean_tree net/ipv6/ip6_fib.c:2252 [inline] __fib6_clean_all+0x1dc/0x310 net/ipv6/ip6_fib.c:2268 fib6_clean_all+0x3c/0x50 net/ipv6/ip6_fib.c:2279 rt6_sync_down_dev net/ipv6/route.c:4951 [inline] rt6_disable_ip+0x104/0x6cc net/ipv6/route.c:4956 addrconf_ifdown+0x148/0x148c net/ipv6/addrconf.c:3857 addrconf_notify+0x2f4/0xcdc net/ipv6/addrconf.c:-1 notifier_call_chain+0x1b8/0x4e4 kernel/notifier.c:85 raw_notifier_call_chain+0x3c/0x50 kernel/notifier.c:453 call_netdevice_notifiers_info net/core/dev.c:2176 [inline] call_netdevice_notifiers_extack net/core/dev.c:2214 [inline] call_netdevice_notifiers net/core/dev.c:2228 [inline] dev_close_many+0x2d4/0x448 net/core/dev.c:1731 unregister_netdevice_many_notify+0x4c4/0x1fbc net/core/dev.c:11934 unregister_netdevice_many net/core/dev.c:12036 [inline] unregister_netdevice_queue+0x2b4/0x300 net/core/dev.c:11879 unregister_netdevice include/linux/netdevice.h:3374 [inline] nsim_destroy+0x1c0/0x59c drivers/net/netdevsim/netdev.c:1064 __nsim_dev_port_del+0x13c/0x19c drivers/net/netdevsim/dev.c:1428 nsim_dev_port_del_all drivers/net/netdevsim/dev.c:1440 [inline] nsim_dev_reload_destroy+0x240/0x43c drivers/net/netdevsim/dev.c:1661 nsim_dev_reload_down+0x9c/0xd4 drivers/net/netdevsim/dev.c:968 devlink_reload+0x184/0x750 net/devlink/dev.c:461 devlink_pernet_pre_exit+0x184/0x380 net/devlink/core.c:509 ops_pre_exit_list net/core/net_namespace.c:162 [inline] cleanup_net+0x47c/0x9c0 net/core/net_namespace.c:634 process_one_work+0x7e8/0x156c kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:464 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:847 The buggy address belongs to the variable: binder_devices+0x8/0x20 The buggy address belongs to the virtual mapping at [ffff80008f290000, ffff800097531000) created by: declare_kernel_vmas+0xa8/0xb8 arch/arm64/mm/mmu.c:774 The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x2100c0 flags: 0x5ffc00000002000(reserved|node=0|zone=2|lastcpupid=0x7ff) raw: 05ffc00000002000 fffffdffc7403008 fffffdffc7403008 0000000000000000 raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8000974c0780: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 ffff8000974c0800: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 >ffff8000974c0880: f9 f9 f9 f9 00 f9 f9 f9 00 00 f9 f9 00 00 00 00 ^ ffff8000974c0900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff8000974c0980: 00 00 00 00 00 00 00 00 00 00 04 f9 f9 f9 f9 f9 ================================================================== netdevsim netdevsim3 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim3 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): Released all slaves hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode batman_adv: batadv0: Interface deactivated: batadv_slave_0 batman_adv: batadv0: Removing interface: batadv_slave_0 batman_adv: batadv0: Interface deactivated: batadv_slave_1 batman_adv: batadv0: Removing interface: batadv_slave_1 veth1_to_batadv: left promiscuous mode veth1_macvtap: left promiscuous mode veth0_macvtap: left promiscuous mode veth1_vlan: left promiscuous mode veth0_vlan: left promiscuous mode team0 (unregistering): Port device team_slave_1 removed team0 (unregistering): Port device team_slave_0 removed netdevsim netdevsim5 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim5 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim5 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim5 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim0 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim0 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim0 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim0 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim4 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim4 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim4 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim4 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim2 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim2 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim2 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 bridge0: port 3(netdevsim0) entered disabled state netdevsim netdevsim2 netdevsim0 (unregistering): left allmulticast mode netdevsim netdevsim2 netdevsim0 (unregistering): left promiscuous mode bridge0: port 3(netdevsim0) entered disabled state netdevsim netdevsim2 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge0: port 1(bridge_slave_0) entered disabled state bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state