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 0848309773a5..42377f75ee1c 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c | |||
@@ -5103,6 +5103,7 @@ static struct sctp_packet *sctp_ootb_pkt_new(const struct sctp_association *asoc | |||
5103 | __u16 sport; | 5103 | __u16 sport; |
5104 | __u16 dport; | 5104 | __u16 dport; |
5105 | __u32 vtag; | 5105 | __u32 vtag; |
5106 | union sctp_addr tmp; | ||
5106 | 5107 | ||
5107 | /* Get the source and destination port from the inbound packet. */ | 5108 | /* Get the source and destination port from the inbound packet. */ |
5108 | sport = ntohs(chunk->sctp_hdr->dest); | 5109 | sport = ntohs(chunk->sctp_hdr->dest); |
@@ -5140,7 +5141,8 @@ static struct sctp_packet *sctp_ootb_pkt_new(const struct sctp_association *asoc | |||
5140 | /* Cache a route for the transport with the chunk's destination as | 5141 | /* Cache a route for the transport with the chunk's destination as |
5141 | * the source address. | 5142 | * the source address. |
5142 | */ | 5143 | */ |
5143 | sctp_transport_route(transport, (union sctp_addr *)&chunk->dest, | 5144 | flip_to_n(&tmp, &chunk->dest); |
5145 | sctp_transport_route(transport, &tmp, | ||
5144 | sctp_sk(sctp_get_ctl_sock())); | 5146 | sctp_sk(sctp_get_ctl_sock())); |
5145 | 5147 | ||
5146 | packet = sctp_packet_init(&transport->packet, transport, sport, dport); | 5148 | packet = sctp_packet_init(&transport->packet, transport, sport, dport); |