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
