--- x/net/sctp/outqueue.c +++ y/net/sctp/outqueue.c @@ -88,6 +88,8 @@ static inline void sctp_outq_tail_data(s stream = sctp_chunk_stream_no(ch); oute = SCTP_SO(&q->asoc->stream, stream)->ext; + if (!oute) + return; list_add_tail(&ch->stream_list, &oute->outq); } --- x/net/sctp/stream_sched.c +++ y/net/sctp/stream_sched.c @@ -65,6 +65,8 @@ static struct sctp_chunk *sctp_sched_fcf goto out; if (stream->out_curr) { + if (!stream->out_curr->ext) + return NULL; ch = list_entry(stream->out_curr->ext->outq.next, struct sctp_chunk, stream_list); } else {