diff options
| author | Kuniyuki Iwashima <kuniyu@google.com> | 2026-09-04 03:35:29 +0000 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-09-07 17:40:26 -0700 |
| commit | 31c5ea8a3296e1486ac34bccea452bfe8c0bb1f9 (patch) | |
| tree | 21014c79f1780a1dda0c136e70e43821bb2b9597 /include/linux | |
| parent | 8cc3aef0cb198049805ecc061a2cc7b79b0ae43e (diff) | |
| download | linux-next-31c5ea8a3296e1486ac34bccea452bfe8c0bb1f9.tar.gz linux-next-31c5ea8a3296e1486ac34bccea452bfe8c0bb1f9.zip | |
ipv6: Remove IPV6_ADDRFORM.
Recently, IPV6_ADDRFORM has received many AI-driven bug reports.
Fixing them properly would needlessly churn the fast paths in TCP
and UDP.
IPV6_ADDRFORM was initially introduced in RFC 2133 in 1997,
but only two years later, it was removed from RFC 2553 in 1999.
In 2026, modern applications natively support dual-stack sockets;
notably, systemd's socket activation does not use IPV6_ADDRFORM.
Also, getsockopt(IPV6_ADDRFORM) can be replaced with SO_DOMAIN.
Let's remove IPV6_ADDRFORM.
Later, we can remove sk->sk_prot_creator and revert commit
c26c192c3d48 ("udp: properly deal with xfrm encap and ADDRFORM").
Reported-by: Daehyeon Ko <4ncienth@gmail.com>
Closes: https://lore.kernel.org/netdev/20260902010408.1057857-1-4ncienth@gmail.com/
Reported-by: Hyunwoo Kim <imv4bel@gmail.com>
Closes: https://lore.kernel.org/netdev/20260824033331.1084971-1-imv4bel@gmail.com/
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260904033543.2635540-3-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/net.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/net.h b/include/linux/net.h index 3d82966e2243..470100ae7107 100644 --- a/include/linux/net.h +++ b/include/linux/net.h @@ -166,7 +166,7 @@ struct socket { struct file *file; struct sock *sk; - const struct proto_ops *ops; /* Might change with IPV6_ADDRFORM or MPTCP. */ + const struct proto_ops *ops; /* Might change with MPTCP. */ struct socket_wq wq; }; |
