Re: net/sctp: null-ptr-deref in sctp_inet_listen

From: Andrey Konovalov
Date: Wed Nov 09 2016 - 14:24:28 EST


On Wed, Nov 9, 2016 at 4:32 AM, Xin Long <lucien.xin@xxxxxxxxx> wrote:
> this fix may break TYPE_SCTP_PRIMITIVE_SHUTDOWN statetable,
> could you give the following one a try ? thanks.

This one also works.

Thanks.

>
> --- a/net/sctp/socket.c
> +++ b/net/sctp/socket.c
> @@ -4288,9 +4288,9 @@ static void sctp_shutdown(struct sock *sk, int how)
> return;
>
> if (how & SEND_SHUTDOWN) {
> - sk->sk_state = SCTP_SS_CLOSING;
> ep = sctp_sk(sk)->ep;
> if (!list_empty(&ep->asocs)) {
> + sk->sk_state = SCTP_SS_CLOSING;
> asoc = list_entry(ep->asocs.next,
> struct sctp_association, asocs);
> sctp_primitive_SHUTDOWN(net, asoc, NULL);
>
> --
> You received this message because you are subscribed to the Google Groups "syzkaller" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller+unsubscribe@xxxxxxxxxxxxxxxxx
> For more options, visit https://groups.google.com/d/optout.