Re: [PATCH] sctp: make sctp_transport_init() void

Xin Long <[email protected]>
Newsgroups org.kernel.vger.linux-sctp,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <CADvbK_cUA1TR2+=-k8iUu=y6rxEj7Qn+EcvRzKy7xkAhGrE6Ww@mail.gmail.com>
On Sat, Nov 1, 2025 at 12:37 PM Huiwen He <[email protected]> wrote:
>
> sctp_transport_init() is static and never returns NULL. It is only
> called by sctp_transport_new(), so change it to void and remove the
> redundant return value check.
>
> Signed-off-by: Huiwen He <[email protected]>
> ---
>  net/sctp/transport.c | 16 +++++-----------
>  1 file changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/net/sctp/transport.c b/net/sctp/transport.c
> index 4d258a6e8033..97da92390aa7 100644
> --- a/net/sctp/transport.c
> +++ b/net/sctp/transport.c
> @@ -37,10 +37,10 @@
>  /* 1st Level Abstractions.  */
>
>  /* Initialize a new transport from provided memory.  */
> -static struct sctp_transport *sctp_transport_init(struct net *net,
> -                                                 struct sctp_transport *peer,
> -                                                 const union sctp_addr *addr,
> -                                                 gfp_t gfp)
> +static void sctp_transport_init(struct net *net,
> +                               struct sctp_transport *peer,
> +                               const union sctp_addr *addr,
> +                               gfp_t gfp)
>  {
>         /* Copy in the address.  */
>         peer->af_specific = sctp_get_af_specific(addr->sa.sa_family);
> @@ -83,8 +83,6 @@ static struct sctp_transport *sctp_transport_init(struct net *net,
>         get_random_bytes(&peer->hb_nonce, sizeof(peer->hb_nonce));
>
>         refcount_set(&peer->refcnt, 1);
> -
> -       return peer;
>  }
>
>  /* Allocate and initialize a new transport.  */
> @@ -98,16 +96,12 @@ struct sctp_transport *sctp_transport_new(struct net *net,
>         if (!transport)
>                 goto fail;
I think you can return NULL; here, and delete the 'fail:' path below now.

Thanks.
>
> -       if (!sctp_transport_init(net, transport, addr, gfp))
> -               goto fail_init;
> +       sctp_transport_init(net, transport, addr, gfp);
>
>         SCTP_DBG_OBJCNT_INC(transport);
>
>         return transport;
>
> -fail_init:
> -       kfree(transport);
> -
>  fail:
>         return NULL;
>  }
> --
> 2.25.1
>
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.