[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20070213.123901.15263824.davem@davemloft.net>
Date: Tue, 13 Feb 2007 12:39:01 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ilpo.jarvinen@...sinki.fi
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH] [TCP]: Prevent pseudo garbage in SYN's advertized
window
From: "Ilpo_Järvinen" <ilpo.jarvinen@...sinki.fi>
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 <ilpo.jarvinen@...sinki.fi>
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists