From: Xin Long <lucien.xin@xxxxxxxxx> Date: Tue, 18 Feb 2020 12:07:53 +0800 > When T2 timer is to be stopped, the asoc should also be deleted, > otherwise, there will be no chance to call sctp_association_free > and the asoc could last in memory forever. > > However, in sctp_sf_shutdown_sent_abort(), after adding the cmd > SCTP_CMD_TIMER_STOP for T2 timer, it may return error due to the > format error from __sctp_sf_do_9_1_abort() and miss adding > SCTP_CMD_ASSOC_FAILED where the asoc will be deleted. > > This patch is to fix it by moving the format error check out of > __sctp_sf_do_9_1_abort(), and do it before adding the cmd > SCTP_CMD_TIMER_STOP for T2 timer. > > Thanks Hangbin for reporting this issue by the fuzz testing. > > v1->v2: > - improve the comment in the code as Marcelo's suggestion. > > Fixes: 96ca468b86b0 ("sctp: check invalid value of length parameter in error cause") > Reported-by: Hangbin Liu <liuhangbin@xxxxxxxxx> > Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> > Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Applied and queued up for -stable.