From: "Ilpo_Järvinen" <[EMAIL PROTECTED]>
Date: Tue, 13 Feb 2007 15:08:34 +0200 (EET)

> TCP may advertize up to 16-bits window in SYN packets (no window
> scaling allowed). At the same time, TCP may have rcv_wnd
> (32-bits) that does not fit to 16-bits without window scaling
> resulting in pseudo garbage into advertized window from the
> low-order bits of rcv_wnd. This can happen at least when
> mss <= (1<<wscale) (see tcp_select_initial_window). This patch
> fixes the handling of SYN advertized windows (compile tested
> only).
> 
> In worst case (which is unlikely to occur though), the receiver
> advertized window could be just couple of bytes. I'm not sure
> that such situation would be handled very well at all by the
> receiver!? Fortunately, the situation normalizes after the
> first non-SYN ACK is received because it has the correct,
> scaled window.
> 
> Alternatively, tcp_select_initial_window could be changed to
> prevent too large rcv_wnd in the first place.
> 
> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]>

Thanks for catching this bug, I think your fix is fine.

The same bug also exists in tcp_make_synack(), I'll fix that
one up in the same way.

Thanks again.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to