summaryrefslogtreecommitdiff
path: root/net/sctp
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2018-11-18 21:59:49 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-11-23 08:19:26 +0100
commiteebe064ce49c7ea3b730885183d6b109b1b17418 (patch)
treee7ba6c8e9091eed4c4b6f7157a16e1de5b18da05 /net/sctp
parentfd2e5f8ae1183d8b4c8dd49a87535dc97057d258 (diff)
sctp: not increase stream's incnt before sending addstrm_in request
[ Upstream commit e1e46479847e66f78f79d8c24d5169a5954b3fc2 ] Different from processing the addstrm_out request, The receiver handles an addstrm_in request by sending back an addstrm_out request to the sender who will increase its stream's in and incnt later. Now stream->incnt has been increased since it sent out the addstrm_in request in sctp_send_add_streams(), with the wrong stream->incnt will even cause crash when copying stream info from the old stream's in to the new one's in sctp_process_strreset_addstrm_out(). This patch is to fix it by simply removing the stream->incnt change from sctp_send_add_streams(). Fixes: 242bd2d519d7 ("sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter") Reported-by: Jianwen Ji <jiji@redhat.com> Signed-off-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/stream.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/net/sctp/stream.c b/net/sctp/stream.c
index 9ea6057ed28b..61273534ae10 100644
--- a/net/sctp/stream.c
+++ b/net/sctp/stream.c
@@ -310,7 +310,6 @@ int sctp_send_add_streams(struct sctp_association *asoc,
goto out;
}
- stream->incnt = incnt;
stream->outcnt = outcnt;
asoc->strreset_outstanding = !!out + !!in;