Hi,
While testing Linux kernel 6.12.42 on OpenWrt, we observed a regression in IPv6 Router Advertisement (RA) handling for the default router.
Affected commits
The following commits appear related and may have introduced the issue:
ipv6: fix possible infinite loop in fib6_info_uses_dev(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
ipv6: prevent infinite loop in rt6_nlmsg_size(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
ipv6: annotate data-races around rt->fib6_nsiblings: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
Problem description:
In Linux kernel 6.12.42, IPv6 FIB multipath and concurrent access handling was made stricter (READ_ONCE / WRITE_ONCE + RCU retry).
The RA “Automatic” mode relies on checking whether a local default route exists.
With the stricter FIB handling, this check can fail in multipath scenarios.
As a result, RA does not advertise a default route, and IPv6 clients on LAN fail to receive the default gateway.
Steps to reproduce
Run OpenWrt with kernel 6.12.42 on a router with br-lan bridge.
Configure IPv6 RA in Automatic default router mode.
Observe that no default route is advertised to clients (though prefixes may still be delivered).
Expected behavior
Router Advertisement should continue to advertise the default route as in kernel 6.12.41 and earlier.
Client IPv6 connectivity should not break.
Actual behavior
RA fails to advertise a default route in Automatic mode.
Clients do not install a default IPv6 route → connectivity fails.
Temporary workaround
Change RA default router mode from Automatic → Always / Use available prefixes in OpenWrt.
This bypasses the dependency on local default route check and restores correct RA behavior.
Additional notes
This appears to be an unintended side effect of the stricter FIB handling changes introduced in 6.12.42. Please advise if this has already been reported or if I should prepare a minimal reproducer outside OpenWrt.
Thanks, [GitHub: mgz0227]
On Mon, Aug 18, 2025 at 08:03:00PM +0800, 喵公子 wrote:
Hi,
While testing Linux kernel 6.12.42 on OpenWrt, we observed a regression in IPv6 Router Advertisement (RA) handling for the default router.
Affected commits
The following commits appear related and may have introduced the issue:
ipv6: fix possible infinite loop in fib6_info_uses_dev(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
ipv6: prevent infinite loop in rt6_nlmsg_size(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
ipv6: annotate data-races around rt->fib6_nsiblings: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
Does this also happen on the latest kernel releases?
Also, please always include the developers/maintainers/mailing list of the subsystem where you find an issue with. Otherwise you are not going to reach the developers who can help you out.
thanks,
greg k-h
Hi Greg,
Thanks for the quick reply.
This regression has been reproduced on Linux 6.12.42 as shipped with OpenWrt. Currently, OpenWrt only provides kernels from the 6.12.y stable series, so I was only able to verify on 6.12.42.
I am looping in the networking/IPv6 maintainers so the right people can take a look at this issue.
Best regards, gongzi miao
Greg KH gregkh@linuxfoundation.org 于2025年8月18日周一 20:25写道:
On Mon, Aug 18, 2025 at 08:03:00PM +0800, 喵公子 wrote:
Hi,
While testing Linux kernel 6.12.42 on OpenWrt, we observed a regression in IPv6 Router Advertisement (RA) handling for the default router.
Affected commits
The following commits appear related and may have introduced the issue:
ipv6: fix possible infinite loop in fib6_info_uses_dev(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
ipv6: prevent infinite loop in rt6_nlmsg_size(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
ipv6: annotate data-races around rt->fib6_nsiblings: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
Does this also happen on the latest kernel releases?
Also, please always include the developers/maintainers/mailing list of the subsystem where you find an issue with. Otherwise you are not going to reach the developers who can help you out.
thanks,
greg k-h
linux-stable-mirror@lists.linaro.org