On Tue, May 23, 2017 at 01:28:54PM +0800, Xin Long wrote:
> Since commit 3dbcc105d556 ("sctp: alloc stream info when initializing
> asoc"), stream and stream.out info are always alloced when creating
> an asoc.
> 
> So it's not correct to check !asoc->stream before updating stream
> info when processing dupcookie, but would be better to check asoc
> state instead.
> 
> Fixes: 3dbcc105d556 ("sctp: alloc stream info when initializing asoc")
> Signed-off-by: Xin Long <lucien....@gmail.com>
> ---
>  net/sctp/associola.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/net/sctp/associola.c b/net/sctp/associola.c
> index a9708da..9523828 100644
> --- a/net/sctp/associola.c
> +++ b/net/sctp/associola.c
> @@ -1176,7 +1176,9 @@ void sctp_assoc_update(struct sctp_association *asoc,
>  
>               asoc->ctsn_ack_point = asoc->next_tsn - 1;
>               asoc->adv_peer_ack_point = asoc->ctsn_ack_point;
> -             if (!asoc->stream) {
> +
> +             if (sctp_state(asoc, COOKIE_WAIT)) {
> +                     sctp_stream_free(asoc->stream);
>                       asoc->stream = new->stream;
>                       new->stream = NULL;
>               }
> -- 
> 2.1.0
> 
> 
Acked-by: Neil Horman <nhor...@tuxdriver.com>

Reply via email to