• Xin Long's avatar
    sctp: improve the events for sctp stream reset · 556e554a
    Xin Long authored
    [ Upstream commit 2e6dc4d95110becfe0ff4c3d4749c33ea166e9e7 ]
    
    This patch is to improve sctp stream reset events in 4 places:
    
      1. In sctp_process_strreset_outreq(), the flag should always be set with
         SCTP_STREAM_RESET_INCOMING_SSN instead of OUTGOING, as receiver's in
         stream is reset here.
      2. In sctp_process_strreset_outreq(), move up SCTP_STRRESET_ERR_WRONG_SSN
         check, as the reset has to succeed after reconf_timer stops for the
         in stream reset request retransmission.
      3. In sctp_process_strreset_inreq(), no event should be sent, as no in
         or out stream is reset here.
      4. In sctp_process_strreset_resp(), SCTP_STREAM_RESET_INCOMING_SSN or
         OUTGOING event should always be sent for stream reset requests, no
         matter it fails or succeeds to process the request.
    
    Fixes: 81054476 ("sctp: implement receiver-side procedures for the Outgoing SSN Reset Request Parameter")
    Fixes: 16e1a919 ("sctp: implement receiver-side procedures for the Incoming SSN Reset Request Parameter")
    Fixes: 11ae76e6 ("sctp: implement receiver-side procedures for the Reconf Response Parameter")
    Reported-by: 's avatarYing Xu <yinxu@redhat.com>
    Signed-off-by: 's avatarXin Long <lucien.xin@gmail.com>
    Signed-off-by: 's avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    556e554a