Re: [PATCH v2 1/2] net: sctp: socket: Fix uninitialized error on socket shutdown

Xin Long <[email protected]> Fri, 17 Jul 2026 11:02:27 -0400
Newsgroups org.kernel.vger.linux-sctp,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <CADvbK_e4StN7-vSRjYC_FPMN-_3xjwhCxYUb+Jddz-akO-ryPw@mail.gmail.com>
On Thu, Jul 16, 2026 at 6:05=E2=80=AFAM luoqing <[email protected]> wrote=
:
>
> From: luoqing <[email protected]>
>
> When sctp_skb_recv_datagram() detects sk->sk_shutdown & RCV_SHUTDOWN,
> it breaks out of the loop and returns NULL without setting *err.
> This leaves the error pointer uninitialized or with a stale value,
> which can confuse callers expecting a clean shutdown indication.
>
> Compare with the generic __skb_wait_for_more_packets() in
> net/core/datagram.c which properly handles shutdown by setting *err =3D 0=
.
>
> Fix this by setting *err =3D 0 before breaking when the socket is shut do=
wn,
> indicating an orderly shutdown rather than an error condition.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
>
> Signed-off-by: luoqing <[email protected]>
> ---
>  net/sctp/socket.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/net/sctp/socket.c b/net/sctp/socket.c
> index c7b9e325ec1c..ea7050b27715 100644
> --- a/net/sctp/socket.c
> +++ b/net/sctp/socket.c
> @@ -9117,8 +9117,10 @@ struct sk_buff *sctp_skb_recv_datagram(struct sock=
 *sk, int flags, int *err)
>                 if (error)
>                         goto no_packet;
>
> -               if (sk->sk_shutdown & RCV_SHUTDOWN)
> +               if (sk->sk_shutdown & RCV_SHUTDOWN) {
> +                       *err =3D 0;
>                         break;
> +               }
>
>
>                 /* User doesn't want to wait.  */
> --
> 2.25.1
>
This patch doesn't really fix issues, please drop it.

Thanks.