On Thu, 11 Oct 2007, Krzysztof Oledzki wrote:
On Thu, 11 Oct 2007, Patrick McHardy wrote:
Jozsef Kadlecsik wrote:
With your description I could reproduce the bug and actually you were
completely right: the code above is incorrect. Somehow I was able to
misread RFC1122 and mixed the roles :-(:
When a connection is >>closed actively<<, it MUST linger in
TIME-WAIT state for a time 2xMSL (Maximum Segment Lifetime).
However, it MAY >>accept<< a new SYN from the remote TCP to
reopen the connection directly from TIME-WAIT state, if it:
[...]
The fix is as follows: if the receiver initiated an active close, then the
sender may reopen the connection - otherwise try to figure out if we hold
a dead connection.
Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx>
Applied, thanks Jozsef. I'll push this to -stable once it hits upstream.
It would be nice to have this fixed in both 2.6.22-stable and 2.6.23-stable
if that is possible. Thank you.
It seems that this patch together with the additional fix did not get
pushed to -stable. Any chances to add those two patches to
2.6.22.11:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=17311393f969090ab060540bd9dbe7dc885a76d5
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=bc34b841556aad437baf4199744e55500bfa2088
?
Best regards,
Krzysztof Olędzki