Re: [PATCH v3 net-next 3/8] sctp: Don't call sk->sk_prot->init() in sctp_v[46]_create_accept_sk().

Xin Long <[email protected]>
Newsgroups org.kernel.vger.linux-sctp,org.kernel.vger.netdev
Message-ID <CADvbK_dWdj5WNWZ82WWCwie6SWidKoWzqWEpzLinm-186x6Tbw@mail.gmail.com>
On Thu, Oct 23, 2025 at 7:17 PM Kuniyuki Iwashima <[email protected]> wrote:
>
> sctp_accept() calls sctp_v[46]_create_accept_sk() to allocate a new
> socket and calls sctp_sock_migrate() to copy fields from the parent
> socket to the new socket.
>
> sctp_v[46]_create_accept_sk() calls sctp_init_sock() to initialise
> sctp_sock, but most fields are overwritten by sctp_copy_descendant()
> called from sctp_sock_migrate().
>
> Things done in sctp_init_sock() but not in sctp_sock_migrate() are
> the following:
>
>   1. Copy sk->sk_gso
>   2. Copy sk->sk_destruct (sctp_v6_init_sock())
>   3. Allocate sctp_sock.ep
>   4. Initialise sctp_sock.pd_lobby
>   5. Count sk_sockets_allocated_inc(), sock_prot_inuse_add(),
>      and SCTP_DBG_OBJCNT_INC()
>
> Let's do these in sctp_copy_sock() and sctp_sock_migrate() and avoid
> calling sk->sk_prot->init() in sctp_v[46]_create_accept_sk().
>
> Note that sk->sk_destruct is already copied in sctp_copy_sock().
>
> Signed-off-by: Kuniyuki Iwashima <[email protected]>
Acked-by: Xin Long <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.