Merge branch 'sctp-bad-revert'
Xin Long says: ==================== sctp: fix the incorrect revert commit35b4f24415
("sctp: do asoc update earlier in sctp_sf_do_dupcook_a") only keeps the SHUTDOWN and COOKIE-ACK with the same asoc, not transport. So instead of revert commit145cb2f717
("sctp: Fix bundling of SHUTDOWN with COOKIE-ACK"), we should revert12dfd78e3a
("sctp: Fix SHUTDOWN CTSN Ack in the peer restart case"). ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
a52445ae5a
@ -858,11 +858,7 @@ struct sctp_chunk *sctp_make_shutdown(const struct sctp_association *asoc,
|
||||
struct sctp_chunk *retval;
|
||||
__u32 ctsn;
|
||||
|
||||
if (chunk && chunk->asoc)
|
||||
ctsn = sctp_tsnmap_get_ctsn(&chunk->asoc->peer.tsn_map);
|
||||
else
|
||||
ctsn = sctp_tsnmap_get_ctsn(&asoc->peer.tsn_map);
|
||||
|
||||
ctsn = sctp_tsnmap_get_ctsn(&asoc->peer.tsn_map);
|
||||
shut.cum_tsn_ack = htonl(ctsn);
|
||||
|
||||
retval = sctp_make_control(asoc, SCTP_CID_SHUTDOWN, 0,
|
||||
|
@ -1903,7 +1903,7 @@ static enum sctp_disposition sctp_sf_do_dupcook_a(
|
||||
*/
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(repl));
|
||||
return sctp_sf_do_9_2_start_shutdown(net, ep, asoc,
|
||||
SCTP_ST_CHUNK(0), NULL,
|
||||
SCTP_ST_CHUNK(0), repl,
|
||||
commands);
|
||||
} else {
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_NEW_STATE,
|
||||
@ -5549,7 +5549,7 @@ enum sctp_disposition sctp_sf_do_9_2_start_shutdown(
|
||||
* in the Cumulative TSN Ack field the last sequential TSN it
|
||||
* has received from the peer.
|
||||
*/
|
||||
reply = sctp_make_shutdown(asoc, NULL);
|
||||
reply = sctp_make_shutdown(asoc, arg);
|
||||
if (!reply)
|
||||
goto nomem;
|
||||
|
||||
@ -6147,7 +6147,7 @@ enum sctp_disposition sctp_sf_autoclose_timer_expire(
|
||||
disposition = SCTP_DISPOSITION_CONSUME;
|
||||
if (sctp_outq_is_empty(&asoc->outqueue)) {
|
||||
disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type,
|
||||
arg, commands);
|
||||
NULL, commands);
|
||||
}
|
||||
|
||||
return disposition;
|
||||
|
Loading…
Reference in New Issue
Block a user