aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/sm_statefuns.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/sm_statefuns.c')
-rw-r--r--net/sctp/sm_statefuns.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index 45b8bcafd827..a7f18a352364 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -3543,6 +3543,12 @@ sctp_disposition_t sctp_sf_do_asconf(const struct sctp_endpoint *ep,
3543 asconf_ack = sctp_assoc_lookup_asconf_ack(asoc, hdr->serial); 3543 asconf_ack = sctp_assoc_lookup_asconf_ack(asoc, hdr->serial);
3544 if (!asconf_ack) 3544 if (!asconf_ack)
3545 return SCTP_DISPOSITION_DISCARD; 3545 return SCTP_DISPOSITION_DISCARD;
3546
3547 /* Reset the transport so that we select the correct one
3548 * this time around. This is to make sure that we don't
3549 * accidentally use a stale transport that's been removed.
3550 */
3551 asconf_ack->transport = NULL;
3546 } else { 3552 } else {
3547 /* ADDIP 5.2 E5) Otherwise, the ASCONF Chunk is discarded since 3553 /* ADDIP 5.2 E5) Otherwise, the ASCONF Chunk is discarded since
3548 * it must be either a stale packet or from an attacker. 3554 * it must be either a stale packet or from an attacker.