lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 29 Dec 2011 11:04:10 +0800 From: Zhen-Hua Li <lizhenhua.dev@...il.com> To: zrpeng <zrpeng@...x-info.com> Cc: netdev@...r.kernel.org Subject: Re: Why network stack not reply RST Hi, Are you sure your client did not called fork() ? If it has subprocess, there may be such problems. On Tue, Dec 27, 2011 at 4:31 PM, zrpeng <zrpeng@...x-info.com> wrote: > Hi: > Why network stack not reply RST? > I am doing test recently based on kernel 2.6.32. In my case: > 1) The server application closed the established socket, the network stack > sent FIN to client. The socket status in kernel's network stack was > TCP_FIN_WAIT1. > 2) The client sent out a tcp packet with ACK bit set for the server's FIN, > the packet also took new data. > 3) When the server received the packet, network stack entered "step 5" in > function "tcp_rcv_state_process". > 4) Then came to 'case TCP_FIN_WAIT1:' > 5) Then came to judgement > if (tp->linger2 < 0 || > (TCP_SKB_CB(skb)->end_seq != TCP_SKB_CB(skb)->seq && > after(TCP_SKB_CB(skb)->end_seq - th->fin, tp->rcv_nxt))) { > ..... > } > 6) Because the previous packet took data and ACK (for the FIN), it entered > the judgement. So, the socket is deleted in function 'tcp_done(sk)'. > 7) No TCP message was sent back to client side from then on, and client > was left in LAST_ACK status. > > My questions are: > 1) Is this process correct? I think the server should sent RST to client, > is this correct? > 2) What's the using of judgement > (TCP_SKB_CB(skb)->end_seq != TCP_SKB_CB(skb)->seq && > after(TCP_SKB_CB(skb)->end_seq - th->fin, tp->rcv_nxt) > > The code exists from kernel 2.3.41 and 2.3.42. > > Thank you very much! > Best Regards. > > Peng Zhaoran from Linx-Info Tech. > > www.linx-info.com > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@...r.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists