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.