Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f7082e2 authored by Colin Ian King's avatar Colin Ian King Committed by Greg Kroah-Hartman
Browse files

tcp: remove redundant check on tskb



[ Upstream commit d1edc085559744fbda7a55e97eeae8bd6135a11b ]

The non-null check on tskb is always false because it is in an else
path of a check on tskb and hence tskb is null in this code block.
This is check is therefore redundant and can be removed as well
as the label coalesc.

if (tsbk) {
        ...
} else {
        ...
        if (unlikely(!skb)) {
                if (tskb)       /* can never be true, redundant code */
                        goto coalesc;
                return;
        }
}

Addresses-Coverity: ("Logically dead code")
Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Reviewed-by: default avatarMukesh Ojha <mojha@codeaurora.org>
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Stable-dep-of: 94062790aedb ("tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent a1a3346e
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -3132,7 +3132,6 @@ void tcp_send_fin(struct sock *sk)
		tskb = skb_rb_last(&sk->tcp_rtx_queue);

	if (tskb) {
coalesce:
		TCP_SKB_CB(tskb)->tcp_flags |= TCPHDR_FIN;
		TCP_SKB_CB(tskb)->end_seq++;
		tp->write_seq++;
@@ -3148,11 +3147,9 @@ void tcp_send_fin(struct sock *sk)
		}
	} else {
		skb = alloc_skb_fclone(MAX_TCP_HEADER, sk->sk_allocation);
		if (unlikely(!skb)) {
			if (tskb)
				goto coalesce;
		if (unlikely(!skb))
			return;
		}

		INIT_LIST_HEAD(&skb->tcp_tsorted_anchor);
		skb_reserve(skb, MAX_TCP_HEADER);
		sk_forced_mem_schedule(sk, skb->truesize);