Re: [PATCH] tcp: fix error return code in tcp_xmit_probe_skb

From: Eric Dumazet
Date: Wed Apr 13 2022 - 22:15:41 EST


On Wed, Apr 13, 2022 at 6:58 PM Hongbin Wang <wh_bin@xxxxxxx> wrote:
>
> When alloc_skb failed, should return ENOMEM


Can you explain which rule mandates this statement ?

The only caller that propagates this error has other "return -1;"

The precise value of the error, we do not care, as long it is negative.

To be clear, this error code is not propagated to user space, so this
patch only adds code churn.


>
>
> Signed-off-by: Hongbin Wang <wh_bin@xxxxxxx>
> ---
> net/ipv4/tcp_output.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
> index c221f3bce975..b97c85814d9c 100644
> --- a/net/ipv4/tcp_output.c
> +++ b/net/ipv4/tcp_output.c
> @@ -3996,7 +3996,7 @@ static int tcp_xmit_probe_skb(struct sock *sk, int urgent, int mib)
> skb = alloc_skb(MAX_TCP_HEADER,
> sk_gfp_mask(sk, GFP_ATOMIC | __GFP_NOWARN));
> if (!skb)
> - return -1;
> + return -ENOMEM;
>
> /* Reserve space for headers and set control bits. */
> skb_reserve(skb, MAX_TCP_HEADER);
> --
> 2.25.1
>