mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 03:11:11 -04:00
ipv6: Remove UDP-Lite support for IPV6_ADDRFORM.
We cannot create IPv6 UDP-Lite sockets anymore. Let's remove dead code in IPV6_ADDRFORM. Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://patch.msgid.link/20260311052020.1213705-4-kuniyu@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
62554a51c5
commit
92586f02f8
@@ -45,7 +45,6 @@
|
||||
#include <net/inet_common.h>
|
||||
#include <net/tcp.h>
|
||||
#include <net/udp.h>
|
||||
#include <net/udplite.h>
|
||||
#include <net/xfrm.h>
|
||||
#include <net/compat.h>
|
||||
#include <net/seg6.h>
|
||||
@@ -563,10 +562,8 @@ int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
if (sk->sk_type == SOCK_RAW)
|
||||
break;
|
||||
|
||||
if (sk->sk_protocol == IPPROTO_UDP ||
|
||||
sk->sk_protocol == IPPROTO_UDPLITE) {
|
||||
struct udp_sock *up = udp_sk(sk);
|
||||
if (up->pending == AF_INET6) {
|
||||
if (sk->sk_protocol == IPPROTO_UDP) {
|
||||
if (udp_sk(sk)->pending == AF_INET6) {
|
||||
retv = -EBUSY;
|
||||
break;
|
||||
}
|
||||
@@ -607,16 +604,11 @@ int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
WRITE_ONCE(sk->sk_family, PF_INET);
|
||||
tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);
|
||||
} else {
|
||||
struct proto *prot = &udp_prot;
|
||||
|
||||
if (sk->sk_protocol == IPPROTO_UDPLITE)
|
||||
prot = &udplite_prot;
|
||||
|
||||
sock_prot_inuse_add(net, sk->sk_prot, -1);
|
||||
sock_prot_inuse_add(net, prot, 1);
|
||||
sock_prot_inuse_add(net, &udp_prot, 1);
|
||||
|
||||
/* Paired with READ_ONCE(sk->sk_prot) in inet6_dgram_ops */
|
||||
WRITE_ONCE(sk->sk_prot, prot);
|
||||
WRITE_ONCE(sk->sk_prot, &udp_prot);
|
||||
WRITE_ONCE(sk->sk_socket->ops, &inet_dgram_ops);
|
||||
WRITE_ONCE(sk->sk_family, PF_INET);
|
||||
}
|
||||
@@ -1098,7 +1090,6 @@ int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
switch (optname) {
|
||||
case IPV6_ADDRFORM:
|
||||
if (sk->sk_protocol != IPPROTO_UDP &&
|
||||
sk->sk_protocol != IPPROTO_UDPLITE &&
|
||||
sk->sk_protocol != IPPROTO_TCP)
|
||||
return -ENOPROTOOPT;
|
||||
if (sk->sk_state != TCP_ESTABLISHED)
|
||||
|
||||
Reference in New Issue
Block a user