Re: [PATCH 00/10 net-next] Convert CONFIG_IPV6 to built-in and remove stubs

From: Fernando Fernandez Mancera

Date: Mon Mar 09 2026 - 11:15:05 EST


On 3/9/26 3:47 PM, Jakub Kicinski wrote:
On Mon, 9 Mar 2026 03:19:33 +0100 Fernando Fernandez Mancera wrote:
Historically, the Linux kernel has supported compiling the IPv6 stack as
a loadable module. While this made sense in the early days of IPv6
adoption, modern deployments and distributions overwhelmingly either
build IPv6 directly into the kernel (CONFIG_IPV6=y) or disable it
entirely (CONFIG_IPV6=n). The modular IPv6 use-case provides little to
no practical benefit today.

Have you tested this? Every single VM config we have in CI dies with:


Hi Jakub,

I did and I just booted a VM with the series. I just discovered that it dies with virtme-ng. Changing the fs_initcall() to device_initcall() fixes it so this is likely a race condition.. probably due to loopback?

Sorry about the noise. I do not understand why this didn't happen on my libvirt setup but it did happen on virtme-ng.

Well, if there is consensus that we want to go ahead with this, I will address this on the V2.

Thanks for letting me know.
Fernando.

[ 0.774671][ T1] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000187: 0000 [#1] SMP KASAN
[ 0.775165][ T1] KASAN: null-ptr-deref in range [0x0000000000000c38-0x0000000000000c3f]
[ 0.775165][ T1] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 7.0.0-rc2-virtme #1 PREEMPT(full)
[ 0.775165][ T1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 0.775165][ T1] RIP: 0010:ipv6_add_dev+0x32/0x1e0
[ 0.775165][ T1] Code: fb 48 83 ec 08 e8 0e 48 a8 ff 85 c0 0f 84 65 01 00 00 48 8d bb 39 0c 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 48 89 fa 83 e2 07 38 d0 7f 08 84 c0 0f 85 54 01 00 00
[ 0.775165][ T1] RSP: 0018:ffa0000000017d10 EFLAGS: 00010216
[ 0.775165][ T1] RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000001
[ 0.775165][ T1] RDX: 0000000000000187 RSI: 0000000000000008 RDI: 0000000000000c39
[ 0.775165][ T1] RBP: 0000000000000100 R08: ffffffffa3eed8dc R09: fffffbfff4f10288
[ 0.775165][ T1] R10: fffffbfff4f10289 R11: 0000000000000001 R12: dffffc0000000000
[ 0.775165][ T1] R13: dffffc0000000000 R14: ff11000001f1cc00 R15: ffffffffa8216a90
[ 0.775165][ T1] FS: 0000000000000000(0000) GS:ff1100008707a000(0000) knlGS:0000000000000000
[ 0.775165][ T1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 0.775165][ T1] CR2: ff11000036a1e000 CR3: 000000003453b001 CR4: 0000000000771ef0
[ 0.775165][ T1] PKRU: 55555554
[ 0.775165][ T1] Call Trace:
[ 0.775165][ T1] <TASK>
[ 0.775165][ T1] addrconf_init+0xa9/0x160
[ 0.775165][ T1] inet6_init+0x287/0x410
[ 0.775165][ T1] do_one_initcall+0xd7/0x4a0
[ 0.775165][ T1] ? trace_event_raw_event_initcall_level+0x210/0x210
[ 0.775165][ T1] ? __kmalloc_noprof+0x2c5/0x730
[ 0.775165][ T1] kernel_init_freeable+0x57d/0x620
[ 0.775165][ T1] ? rest_init+0x200/0x200
[ 0.775165][ T1] kernel_init+0x1e/0x170
[ 0.775165][ T1] ? _raw_spin_unlock_irq+0x33/0x50
[ 0.775165][ T1] ret_from_fork+0x472/0x6b0
[ 0.775165][ T1] ? arch_exit_to_user_mode_prepare.isra.0+0x140/0x140
[ 0.775165][ T1] ? __switch_to+0x538/0xcf0
[ 0.775165][ T1] ? rest_init+0x200/0x200
[ 0.775165][ T1] ret_from_fork_asm+0x11/0x20
[ 0.775165][ T1] </TASK>
[ 0.775165][ T1] Modules linked in:
[ 0.816998][ T1] ---[ end trace 0000000000000000 ]---
[ 0.818082][ T1] RIP: 0010:ipv6_add_dev+0x32/0x1e0
[ 0.819103][ T1] Code: fb 48 83 ec 08 e8 0e 48 a8 ff 85 c0 0f 84 65 01 00 00 48 8d bb 39 0c 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 48 89 fa 83 e2 07 38 d0 7f 08 84 c0 0f 85 54 01 00 00
[ 0.822985][ T1] RSP: 0018:ffa0000000017d10 EFLAGS: 00010216
[ 0.824176][ T1] RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000001
[ 0.825749][ T1] RDX: 0000000000000187 RSI: 0000000000000008 RDI: 0000000000000c39
[ 0.827317][ T1] RBP: 0000000000000100 R08: ffffffffa3eed8dc R09: fffffbfff4f10288
[ 0.828892][ T1] R10: fffffbfff4f10289 R11: 0000000000000001 R12: dffffc0000000000
[ 0.830460][ T1] R13: dffffc0000000000 R14: ff11000001f1cc00 R15: ffffffffa8216a90
[ 0.832037][ T1] FS: 0000000000000000(0000) GS:ff1100008707a000(0000) knlGS:0000000000000000
[ 0.833800][ T1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 0.835095][ T1] CR2: ff11000036a1e000 CR3: 000000003453b001 CR4: 0000000000771ef0
[ 0.836670][ T1] PKRU: 55555554
[ 0.837358][ T1] Kernel panic - not syncing: Fatal exception
[ 0.838351][ T1] ---[ end Kernel panic - not syncing: Fatal exception ]---