sctp: clear the transport of some out_chunk_list chunks in sctp_assoc_rm_peer
authorXin Long <lucien.xin@gmail.com>
Mon, 29 Oct 2018 15:10:29 +0000 (23:10 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Oct 2018 03:49:44 +0000 (20:49 -0700)
commitdf132eff463873e14e019a07f387b4d577d6d1f9
treeb0ee8254325b183c0e079cb4931aa9abe09715f6
parent2b0ab72799c29ac63f889f3ccb14d6e22a8ac6bb
sctp: clear the transport of some out_chunk_list chunks in sctp_assoc_rm_peer

If a transport is removed by asconf but there still are some chunks with
this transport queuing on out_chunk_list, later an use-after-free issue
will be caused when accessing this transport from these chunks in
sctp_outq_flush().

This is an old bug, we fix it by clearing the transport of these chunks
in out_chunk_list when removing a transport in sctp_assoc_rm_peer().

Reported-by: syzbot+56a40ceee5fb35932f4d@syzkaller.appspotmail.com
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/associola.c