Dave, Please pull the following SCTP bugfixes from master.kernel.org:/pub/scm/linux/kernel/git/sridhar/lksctp-2.6.git
Thanks Sridhar include/net/sctp/sctp.h | 2 + include/net/sctp/structs.h | 89 +++++++++++++++++++++++++------------------- net/sctp/input.c | 73 ++++++++++++++++++++++++++++++------ net/sctp/inqueue.c | 4 +- net/sctp/proc.c | 32 ++++++---------- net/sctp/sm_make_chunk.c | 16 ++++++-- net/sctp/sm_sideeffect.c | 4 +- net/sctp/sm_statefuns.c | 2 + net/sctp/socket.c | 6 ++- net/sctp/sysctl.c | 7 +-- net/sctp/transport.c | 2 - 11 files changed, 154 insertions(+), 83 deletions(-) commit a7d1f1b66c05ef4ebb58a34be7caad9af15546a4 Author: Tsutomu Fujii <[EMAIL PROTECTED]> Date: Tue Jan 17 11:57:09 2006 -0800 [SCTP]: Fix sctp_rcv_ootb() to handle the last chunk of a packet correctly. Signed-off-by: Tsutomu Fujii <[EMAIL PROTECTED]> Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> commit c4d2444e992c4eda1d7fc3287e93ba58295bf6b9 Author: Sridhar Samudrala <[EMAIL PROTECTED]> Date: Tue Jan 17 11:56:26 2006 -0800 [SCTP]: Fix couple of races between sctp_peeloff() and sctp_rcv(). Validate and update the sk in sctp_rcv() to avoid the race where an assoc/ep could move to a different socket after we get the sk, but before the skb is added to the backlog. Also migrate the skb's in backlog queue to new sk when doing a peeloff. Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> commit 313e7b4d2588539e388d31c1febd50503a0083fc Author: Vlad Yasevich <[EMAIL PROTECTED]> Date: Tue Jan 17 11:55:57 2006 -0800 [SCTP]: Fix machine check/connection hang on IA64. sctp_unpack_cookie used an on-stack array called digest as a result/out parameter in the call to crypto_hmac. However, hmac code (crypto_hmac_final) assumes that the 'out' argument is in virtual memory (identity mapped region) and can use virt_to_page call on it. This does not work with the on-stack declared digest. The problems observed so far have been: a) incorrect hmac digest b) machine check and hardware reset. Solution is to define the digest in an identity mapped region by kmalloc'ing it. We can do this once as part of the endpoint structure and re-use it when verifying the SCTP cookie. Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]> Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> commit 8116ffad4180b39d7a755345c1fde09da83930c0 Author: Vlad Yasevich <[EMAIL PROTECTED]> Date: Tue Jan 17 11:55:17 2006 -0800 [SCTP]: Fix bad sysctl formatting of SCTP timeout values on 64-bit m/cs. Change all the structure members that hold jiffies to be of type unsigned long. This also corrects bad sysctl formating on 64 bit architectures. Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]> Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> commit 38b0e42aba928d9929a26ec23b850c36a31fca5f Author: Vlad Yasevich <[EMAIL PROTECTED]> Date: Tue Jan 17 11:54:06 2006 -0800 [SCTP]: Fix sctp_assoc_seq_show() panics on big-endian systems. This patch corrects the panic by casting the argument to the pointer of correct size. On big-endian systems we ended up loading only 32 bits of data because we are treating the pointer as an int*. By treating this pointer as loff_t*, we'll load the full 64 bits and then let regular integer demotion take place which will give us the correct value. Signed-off-by: Vlad Yaseivch <[EMAIL PROTECTED]> Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> commit 49392e5ecf608da6770fd8723b534a0fc851edc4 Author: Vlad Yasevich <[EMAIL PROTECTED]> Date: Tue Jan 17 11:53:06 2006 -0800 [SCTP]: sctp doesn't show all associations/endpoints in /proc When creating a very large number of associations (and endpoints), /proc/assocs and /proc/eps will not show all of them. As a result netstat will not show all of the either. This is particularly evident when creating 1000+ associations (or endpoints). As an example with 1500 tcp style associations over loopback, netstat showed 1420 on my system instead of 3000. The reason for this is that the seq_operations start method is invoked multiple times bacause of the amount of data that is provided. The start method always increments the position parameter and since we use the position as the hash bucket id, we end up skipping hash buckets. This patch corrects this situation and get's rid of the silly hash-1 decrement. Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]> Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> commit 9834a2bb4970547540222fcba04e0a37d04cb0a0 Author: Vlad Yasevich <[EMAIL PROTECTED]> Date: Tue Jan 17 11:52:12 2006 -0800 [SCTP]: Fix sctp_cookie alignment in the packet. On 64 bit architectures, sctp_cookie sent as part of INIT-ACK is not aligned on a 64 bit boundry and thus causes unaligned access exceptions. The layout of the cookie prameter is this: |<----- Parameter Header --------------------|<--- Cookie DATA -------- ----------------------------------------------------------------------- | param type (16 bits) | param len (16 bits) | sig [32 bytes] | cookie.. ----------------------------------------------------------------------- The cookie data portion contains 64 bit values on 64 bit architechtures (timeval) that fall on a 32 bit alignment boundry when used as part of the on-wire format, but align correctly when used in internal structures. This patch explicitely pads the on-wire format so that it is properly aligned. Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]> Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> commit 7a48f923b8b27bfaa5f7b2a449a6fe268724ddd5 Author: Sridhar Samudrala <[EMAIL PROTECTED]> Date: Tue Jan 17 11:51:28 2006 -0800 [SCTP]: Fix potential race condition between sctp_close() and sctp_rcv(). Do not release the reference to association/endpoint if an incoming skb is added to backlog. Instead release it after the chunk is processed in sctp_backlog_rcv(). Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]> - 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