On Tue, Apr 21, 2020 at 10:03:41PM +0300, Jere Leppänen wrote: > When we start shutdown in sctp_sf_do_dupcook_a(), we want to bundle > the SHUTDOWN with the COOKIE-ACK to ensure that the peer receives them > at the same time and in the correct order. This bundling was broken by > commit 4ff40b86262b ("sctp: set chunk transport correctly when it's a > new asoc"), which assigns a transport for the COOKIE-ACK, but not for > the SHUTDOWN. > > Fix this by passing a reference to the COOKIE-ACK chunk as an argument > to sctp_sf_do_9_2_start_shutdown() and onward to > sctp_make_shutdown(). This way the SHUTDOWN chunk is assigned the same > transport as the COOKIE-ACK chunk, which allows them to be bundled. > > In sctp_sf_do_9_2_start_shutdown(), the void *arg parameter was > previously unused. Now that we're taking it into use, it must be a > valid pointer to a chunk, or NULL. There is only one call site where > it's not, in sctp_sf_autoclose_timer_expire(). Fix that too. > > Fixes: 4ff40b86262b ("sctp: set chunk transport correctly when it's a new asoc") > Signed-off-by: Jere Leppänen <jere.leppanen@xxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>