Re: bug? in 2.0.36pre16

Wolfgang Walter (wolfgang.walter@stusta.mhn.de)
Wed, 4 Nov 1998 18:48:25 +0100


On Wed, Nov 04, 1998 at 10:32:21AM +0000, Alistair Riddell wrote:
> Having upgraded to 2.0.36pre16 yesterday evening I got the following
> message in syslog which has not occurred to me previously:
>
> Nov 3 21:38:02 frank kernel: tcp_new_window: mss fell to 0.
> Nov 3 21:38:02 frank kernel: TCP: **bug**: copy=0, sk->mss=0
> Nov 3 21:38:02 frank kernel: tcp_new_window: mss fell to 0.
> Nov 3 21:38:03 frank kernel: tcp_new_window: mss fell to 0.
>

I'm not an expert in linux network code, but from a quick look into the
sources I come to the following conclusions:

The sockets mtu must be 0.

If it is not a rather complicated bug (wrong pointer, freed memory or race),
it is may worth to insert some checks when mtu is set. In some places this
is already done (it is at least 32). Though, in some other places it is set
without a further check for mtu==0:

tcp_input.c: tcp_options
tcp_input.c: tcp_conn_request indirectly by calling tcp_options

I did not look into SYN_COOKIE stuff.

Its may worth to check in tcp_options for mtu==0 and add printk for that case.
Its maybe even good to refuse mtu=0.

But as I sad, I do not really know the code.

Wolfgang Walter

-- 
Veni, Vidi, VISA:
	I came, I saw, I did a little shopping.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/