Re: [PATCH net] ipv4: nexthop: allocate skb dynamically in rtm_get_nexthop()
From: Eric Dumazet <edumazet@google.com>
Date: 2026-03-31 12:13:31
From: Eric Dumazet <edumazet@google.com>
Date: 2026-03-31 12:13:31
On Tue, Mar 31, 2026 at 5:00 AM Fernando Fernandez Mancera [off-list ref] wrote:
When querying a nexthop object via RTM_GETNEXTHOP, the kernel currently allocates a fixed-size skb using NLMSG_GOODSIZE. While sufficient for single nexthops and small Equal-Cost Multi-Path groups, this fixed allocation fails for large nexthop groups like 512+ nexthops. This results in the following warning splat: WARNING: net/ipv4/nexthop.c:3395 at rtm_get_nexthop+0x176/0x1c0, CPU#19: rep/9282 [...] RIP: 0010:rtm_get_nexthop+0x176/0x1c0 [...] Call Trace: <TASK> rtnetlink_rcv_msg+0x168/0x670 netlink_rcv_skb+0x5c/0x110 netlink_unicast+0x203/0x2e0 netlink_sendmsg+0x222/0x460 ____sys_sendmsg+0x35a/0x380 ___sys_sendmsg+0x99/0xe0 __sys_sendmsg+0x8a/0xf0 do_syscall_64+0x12f/0x1590 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK>
I find these stack traces without symbols not very useful. Any reason you have not used scripts/decode_stacktrace.sh ?