From ff35b66f2674d86f07dc758fd6e906b7bc0f73ad Mon Sep 17 00:00:00 2001 From: Vlad Yasevich Date: Mon, 17 Sep 2007 15:14:28 -0400 Subject: [PATCH] --- yaml --- r: 65171 b: refs/heads/master c: 3c77f961b55b6060858c68a213d7f4470d7f3eb2 h: refs/heads/master i: 65169: cf5e604b67711b4db4ffec4e1dedda03e824bed3 65167: 81e49bf9eb9b7dbfe4777c4ff687d0b9eb96a24f v: v3 --- [refs] | 2 +- trunk/net/sctp/input.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index edb399989e80..f4b993b79955 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ece25dfa0991f65c4e1d26beb1c3c45bda4239b8 +refs/heads/master: 3c77f961b55b6060858c68a213d7f4470d7f3eb2 diff --git a/trunk/net/sctp/input.c b/trunk/net/sctp/input.c index 47e56017f4ce..f9a0c9276e3b 100644 --- a/trunk/net/sctp/input.c +++ b/trunk/net/sctp/input.c @@ -622,6 +622,14 @@ static int sctp_rcv_ootb(struct sk_buff *skb) if (SCTP_CID_SHUTDOWN_COMPLETE == ch->type) goto discard; + /* RFC 4460, 2.11.2 + * This will discard packets with INIT chunk bundled as + * subsequent chunks in the packet. When INIT is first, + * the normal INIT processing will discard the chunk. + */ + if (SCTP_CID_INIT == ch->type && (void *)ch != skb->data) + goto discard; + /* RFC 8.4, 7) If the packet contains a "Stale cookie" ERROR * or a COOKIE ACK the SCTP Packet should be silently * discarded.