lkml.org 
[lkml]   [2019]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] tcp: remove redundant check on tskb
From
Date

On 4/4/2019 8:16 PM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> 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: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>

Cheers,
-Mukesh
> ---
> net/ipv4/tcp_output.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
> index e265d1aeeb66..32061928b054 100644
> --- a/net/ipv4/tcp_output.c
> +++ b/net/ipv4/tcp_output.c
> @@ -3088,7 +3088,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++;
> @@ -3104,11 +3103,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);

\
 
 \ /
  Last update: 2019-04-05 08:47    [W:0.175 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site