]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sctp: Remove sctp_pf.create_accept_sk().
authorKuniyuki Iwashima <kuniyu@google.com>
Thu, 23 Oct 2025 23:16:55 +0000 (23:16 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 28 Oct 2025 01:04:58 +0000 (18:04 -0700)
sctp_v[46]_create_accept_sk() are no longer used.

Let's remove sctp_pf.create_accept_sk().

Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Acked-by: Xin Long <lucien.xin@gmail.com>
Link: https://patch.msgid.link/20251023231751.4168390-7-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/sctp/structs.h
net/sctp/ipv6.c
net/sctp/protocol.c

index 2ae390219efdd383c6656bbd71fa1dfabe6f7ae8..3dd304e411d02cc5d6436433432275475f1faef6 100644 (file)
@@ -497,9 +497,6 @@ struct sctp_pf {
        int  (*bind_verify) (struct sctp_sock *, union sctp_addr *);
        int  (*send_verify) (struct sctp_sock *, union sctp_addr *);
        int  (*supported_addrs)(const struct sctp_sock *, __be16 *);
-       struct sock *(*create_accept_sk) (struct sock *sk,
-                                         struct sctp_association *asoc,
-                                         bool kern);
        int (*addr_to_user)(struct sctp_sock *sk, union sctp_addr *addr);
        void (*to_sk_saddr)(union sctp_addr *, struct sock *sk);
        void (*to_sk_daddr)(union sctp_addr *, struct sock *sk);
index c0762424a8544e14ed5337bbf7408e62e1b45df4..069b7e45d8bda05b829aca199ddb79f7b695346d 100644 (file)
@@ -777,50 +777,6 @@ static enum sctp_scope sctp_v6_scope(union sctp_addr *addr)
        return retval;
 }
 
-/* Create and initialize a new sk for the socket to be returned by accept(). */
-static struct sock *sctp_v6_create_accept_sk(struct sock *sk,
-                                            struct sctp_association *asoc,
-                                            bool kern)
-{
-       struct ipv6_pinfo *newnp, *np = inet6_sk(sk);
-       struct sctp6_sock *newsctp6sk;
-       struct inet_sock *newinet;
-       struct sock *newsk;
-
-       newsk = sk_alloc(sock_net(sk), PF_INET6, GFP_KERNEL, sk->sk_prot, kern);
-       if (!newsk)
-               return NULL;
-
-       sock_init_data(NULL, newsk);
-
-       sctp_copy_sock(newsk, sk, asoc);
-       sock_reset_flag(sk, SOCK_ZAPPED);
-
-       newsctp6sk = (struct sctp6_sock *)newsk;
-       newinet = inet_sk(newsk);
-       newinet->pinet6 = &newsctp6sk->inet6;
-       newinet->ipv6_fl_list = NULL;
-
-       sctp_sk(newsk)->v4mapped = sctp_sk(sk)->v4mapped;
-
-       newnp = inet6_sk(newsk);
-
-       memcpy(newnp, np, sizeof(struct ipv6_pinfo));
-       newnp->ipv6_mc_list = NULL;
-       newnp->ipv6_ac_list = NULL;
-
-       sctp_v6_copy_ip_options(sk, newsk);
-
-       /* Initialize sk's sport, dport, rcv_saddr and daddr for getsockname()
-        * and getpeername().
-        */
-       sctp_v6_to_sk_daddr(&asoc->peer.primary_addr, newsk);
-
-       newsk->sk_v6_rcv_saddr = sk->sk_v6_rcv_saddr;
-
-       return newsk;
-}
-
 /* Format a sockaddr for return to user space. This makes sure the return is
  * AF_INET or AF_INET6 depending on the SCTP_I_WANT_MAPPED_V4_ADDR option.
  */
@@ -1167,7 +1123,6 @@ static struct sctp_pf sctp_pf_inet6 = {
        .bind_verify   = sctp_inet6_bind_verify,
        .send_verify   = sctp_inet6_send_verify,
        .supported_addrs = sctp_inet6_supported_addrs,
-       .create_accept_sk = sctp_v6_create_accept_sk,
        .addr_to_user  = sctp_v6_addr_to_user,
        .to_sk_saddr   = sctp_v6_to_sk_saddr,
        .to_sk_daddr   = sctp_v6_to_sk_daddr,
index ad2722d1ec150e7ed267597b320bf0b282138612..2c3398f75d766d4ee76eef5a84fcfb976f9cc32e 100644 (file)
@@ -580,32 +580,6 @@ static int sctp_v4_is_ce(const struct sk_buff *skb)
        return INET_ECN_is_ce(ip_hdr(skb)->tos);
 }
 
-/* Create and initialize a new sk for the socket returned by accept(). */
-static struct sock *sctp_v4_create_accept_sk(struct sock *sk,
-                                            struct sctp_association *asoc,
-                                            bool kern)
-{
-       struct sock *newsk = sk_alloc(sock_net(sk), PF_INET, GFP_KERNEL,
-                       sk->sk_prot, kern);
-       struct inet_sock *newinet;
-
-       if (!newsk)
-               return NULL;
-
-       sock_init_data(NULL, newsk);
-
-       sctp_copy_sock(newsk, sk, asoc);
-       sock_reset_flag(newsk, SOCK_ZAPPED);
-
-       sctp_v4_copy_ip_options(sk, newsk);
-
-       newinet = inet_sk(newsk);
-
-       newinet->inet_daddr = asoc->peer.primary_addr.v4.sin_addr.s_addr;
-
-       return newsk;
-}
-
 static int sctp_v4_addr_to_user(struct sctp_sock *sp, union sctp_addr *addr)
 {
        /* No address mapping for V4 sockets */
@@ -1113,7 +1087,6 @@ static struct sctp_pf sctp_pf_inet = {
        .bind_verify   = sctp_inet_bind_verify,
        .send_verify   = sctp_inet_send_verify,
        .supported_addrs = sctp_inet_supported_addrs,
-       .create_accept_sk = sctp_v4_create_accept_sk,
        .addr_to_user  = sctp_v4_addr_to_user,
        .to_sk_saddr   = sctp_v4_to_sk_saddr,
        .to_sk_daddr   = sctp_v4_to_sk_daddr,