X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=net%2Fsctp%2Fulpevent.c;h=a1f654aea2687ea740a48596a927486869bb7f65;hb=c174aff95642bcc830102becb9802adeb8f87a5a;hp=ce6cda6b6994daaf5e1a64c09fdb31c126e07b5b;hpb=a985aabe4d7a720b109c2b63549f8641676a9c88;p=linux-2.6 diff --git a/net/sctp/ulpevent.c b/net/sctp/ulpevent.c index ce6cda6b69..a1f654aea2 100644 --- a/net/sctp/ulpevent.c +++ b/net/sctp/ulpevent.c @@ -710,6 +710,11 @@ struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc, if (!skb) goto fail; + /* Now that all memory allocations for this chunk succeeded, we + * can mark it as received so the tsn_map is updated correctly. + */ + sctp_tsnmap_mark(&asoc->peer.tsn_map, ntohl(chunk->subh.data_hdr->tsn)); + /* First calculate the padding, so we don't inadvertently * pass up the wrong length to the user. *