On Fri, Nov 17, 2017 at 02:15:02PM +0800, Xin Long wrote:
> rfc6458 demands the send_error in SCTP_SEND_FAILED_EVENT should
> be in cpu endian, while SCTP_ERROR_INV_STRM is in big endian.
> 
> This issue is there since very beginning, Eric noticed it by
> running 'make C=2 M=net/sctp/'.
> 
> This patch is to convert it before reporting it.

Unfortunatelly we can't fix this as this will break UAPI. It will
break applications that are currently matching on the current value.

> 
> Reported-by: Eric Dumazet <eric.duma...@gmail.com>
> Signed-off-by: Xin Long <lucien....@gmail.com>
> ---
>  net/sctp/stream.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/sctp/stream.c b/net/sctp/stream.c
> index a11db21..f86ceee 100644
> --- a/net/sctp/stream.c
> +++ b/net/sctp/stream.c
> @@ -64,7 +64,7 @@ static void sctp_stream_outq_migrate(struct sctp_stream 
> *stream,
>                */
>  
>               /* Mark as failed send. */
> -             sctp_chunk_fail(ch, SCTP_ERROR_INV_STRM);
> +             sctp_chunk_fail(ch, be16_to_cpu(SCTP_ERROR_INV_STRM));
>               if (asoc->peer.prsctp_capable &&
>                   SCTP_PR_PRIO_ENABLED(ch->sinfo.sinfo_flags))
>                       asoc->sent_cnt_removable--;
> -- 
> 2.1.0
> 

Reply via email to