[SCTP]: Allow spillover of receive buffer to avoid deadlock.
authorNeil Horman <nhorman@tuxdriver.com>
Sat, 6 May 2006 00:02:09 +0000 (17:02 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 6 May 2006 00:02:09 +0000 (17:02 -0700)
commit7c3ceb4fb9667f34f1599a062efecf4cdc4a4ce5
treee54921ec9e8cffac5fa3d4155d18f144d61ad878
parent91ef5d2d6e934762db9c3e0d9e5b2862e40ea429
[SCTP]: Allow spillover of receive buffer to avoid deadlock.

This patch fixes a deadlock situation in the receive path by allowing
temporary spillover of the receive buffer.

- If the chunk we receive has a tsn that immediately follows the ctsn,
  accept it even if we run out of receive buffer space and renege data with
  higher TSNs.
- Once we accept one chunk in a packet, accept all the remaining chunks
  even if we run out of receive buffer space.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Mark Butler <butlerm@middle.net>
Acked-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h
net/sctp/inqueue.c
net/sctp/sm_statefuns.c