diff options
Diffstat (limited to 'net/sctp/sm_statefuns.c')
-rw-r--r-- | net/sctp/sm_statefuns.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index ac776fd20667..7d722f5a31d7 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c | |||
@@ -1018,6 +1018,7 @@ sctp_disposition_t sctp_sf_backbeat_8_3(const struct sctp_endpoint *ep, | |||
1018 | struct sctp_transport *link; | 1018 | struct sctp_transport *link; |
1019 | sctp_sender_hb_info_t *hbinfo; | 1019 | sctp_sender_hb_info_t *hbinfo; |
1020 | unsigned long max_interval; | 1020 | unsigned long max_interval; |
1021 | union sctp_addr tmp; | ||
1021 | 1022 | ||
1022 | if (!sctp_vtag_verify(chunk, asoc)) | 1023 | if (!sctp_vtag_verify(chunk, asoc)) |
1023 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); | 1024 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); |
@@ -1035,7 +1036,8 @@ sctp_disposition_t sctp_sf_backbeat_8_3(const struct sctp_endpoint *ep, | |||
1035 | } | 1036 | } |
1036 | 1037 | ||
1037 | from_addr = hbinfo->daddr; | 1038 | from_addr = hbinfo->daddr; |
1038 | link = sctp_assoc_lookup_paddr(asoc, &from_addr); | 1039 | flip_to_n(&tmp, &from_addr); |
1040 | link = sctp_assoc_lookup_paddr(asoc, &tmp); | ||
1039 | 1041 | ||
1040 | /* This should never happen, but lets log it if so. */ | 1042 | /* This should never happen, but lets log it if so. */ |
1041 | if (unlikely(!link)) { | 1043 | if (unlikely(!link)) { |