diff options
Diffstat (limited to 'net/sctp/ulpevent.c')
| -rw-r--r-- | net/sctp/ulpevent.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/net/sctp/ulpevent.c b/net/sctp/ulpevent.c index ce6cda6b699..a1f654aea26 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.  	 *  |