[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20111202.163024.1294014889349291295.davem@davemloft.net>
Date: Fri, 02 Dec 2011 16:30:24 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: subramanian.vijay@...il.com, therbert@...gle.com,
netdev@...r.kernel.org
Subject: Re: Bug in computing data_len in tcp_sendmsg?
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Fri, 02 Dec 2011 21:45:56 +0100
> Retransmits could transmits 3 bytes already ACKed, is it a big deal ?
Unfortunately this kind of adjustment doesn't work.
When we trim the head in response to ACK'd data, the stack assumes that
the first byte sitting at the front of the retransmit queue is ->snd_una.
So if you just back align the pull, and don't make amends for the setting
of ->snd_una, we'll retransmit the wrong bytes. The send queue will be
out of sync with the sequence number state of the socket.
This has implications for SACK tagging state bit in the transmit queue
as well.
In fact, this is a real dangerous road to go down, I think :-)
--
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