Thread (9 messages) 9 messages, 3 authors, 2026-03-03

Re: [PATCH 2/2 net v2] net: vxlan: fix nd_tbl NULL dereference when IPv6 is disabled

From: Sabrina Dubroca <sd@queasysnail.net>
Date: 2026-03-02 14:43:48
Also in: bridge

2026-03-02, 15:08:47 +0100, Fernando Fernandez Mancera wrote:
When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never
initialized because inet6_init() exits before ndisc_init() is called
which initializes it. If an IPv6 packet is injected into the interface,
route_shortcircuit() is called and a NULL pointer dereference happens on
neigh_lookup().
VXLAN can be built-in even when IPv6 is built as a module, and then
ipv6_mod_enabled can't be used in VXLAN:

ld: drivers/net/vxlan/vxlan_core.o: in function `route_shortcircuit':
drivers/net/vxlan/vxlan_core.c:2133:(.text+0x116e0): undefined reference to `ipv6_mod_enabled'


GENEVE has a Kconfig tweak to prevent this since 094be0927ff3
("geneve: fix build with modular IPV6"):

    depends on IPV6 || !IPV6

but VXLAN doesn't.

But then I think we don't need to use ipv6_stub at all.

-- 
Sabrina
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help