lkml.org 
[lkml]   [2000]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectTCP SYNs broken in 2.3.41
Date
Hi,

I've just been investigating why TCP SYNs from an ARM box running 2.3.41
seem to be corrupted. Some bytes in the packet seem to be offset by 3,
others by 2.

Only TCP SYNs are affected by this. The reason appears to be caused by
a skb_reserve in tcp_output.c:tcp_connect() causing the skbuff data pointer
to become unaligned. The following patch clears this up, allow the TCP
header to be aligned again:

--- linux/net/ipv4/tcp_output.c Sat Jan 29 23:45:46 2000
+++ linux-ebsa285/net/ipv4/tcp_output.c Sun Jan 30 16:25:42 2000
@@ -1005,7 +1005,7 @@
struct tcp_opt *tp = &(sk->tp_pinfo.af_tcp);

/* Reserve space for headers. */
- skb_reserve(buff, MAX_TCP_HEADER + 15);
+ skb_reserve(buff, MAX_TCP_HEADER);

/* We'll fix this up when we get a response from the other end.
* See tcp_input.c:tcp_rcv_state_process case TCP_SYN_SENT.
Why is this '+ 15' here anyway? Can someone shed some enlightenment on it?
Also, can this go into the kernel for 2.3.42 please?
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King rmk@arm.linux.org.uk --- ---
| | | | http://www.arm.linux.org.uk/~rmk/aboutme.html / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.094 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site