From: gfree.w...@foxmail.com
Date: Sun,  9 Apr 2017 20:44:41 +0800

> From: Gao Feng <f...@ikuai8.com>
> 
> It should increase TCPABORTONLINGER counter when send RST caused by
> linger2 in keepalive timer.
> 
> Signed-off-by: Gao Feng <f...@ikuai8.com>
> ---
>  net/ipv4/tcp_timer.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
> index b2ab411..5c01f21 100644
> --- a/net/ipv4/tcp_timer.c
> +++ b/net/ipv4/tcp_timer.c
> @@ -650,6 +650,8 @@ static void tcp_keepalive_timer (unsigned long data)
>                               tcp_time_wait(sk, TCP_FIN_WAIT2, tmo);
>                               goto out;
>                       }
> +             } else {
> +                     NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONLINGER);
>               }
>               tcp_send_active_reset(sk, GFP_ATOMIC);
>               goto death;

I think this else clause is completely unnecessary.  Just do it right above
the tcp_send_active_reset() call and at the same indentation level.

Alternatively, if you are trying to only bump the counter when tp->linger2 is
>= 0, then you attached the else clause to the wrong if() test.

Thank you.

Reply via email to