aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/associola.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/associola.c')
-rw-r--r--net/sctp/associola.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 7639044b0074..746b0b0f5ace 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -709,6 +709,7 @@ void sctp_assoc_control_transport(struct sctp_association *asoc,
709 struct sctp_transport *first; 709 struct sctp_transport *first;
710 struct sctp_transport *second; 710 struct sctp_transport *second;
711 struct sctp_ulpevent *event; 711 struct sctp_ulpevent *event;
712 struct sockaddr_storage addr;
712 struct list_head *pos; 713 struct list_head *pos;
713 int spc_state = 0; 714 int spc_state = 0;
714 715
@@ -731,8 +732,9 @@ void sctp_assoc_control_transport(struct sctp_association *asoc,
731 /* Generate and send a SCTP_PEER_ADDR_CHANGE notification to the 732 /* Generate and send a SCTP_PEER_ADDR_CHANGE notification to the
732 * user. 733 * user.
733 */ 734 */
734 event = sctp_ulpevent_make_peer_addr_change(asoc, 735 memset(&addr, 0, sizeof(struct sockaddr_storage));
735 (struct sockaddr_storage *) &transport->ipaddr, 736 flip_to_n((union sctp_addr *)&addr, &transport->ipaddr);
737 event = sctp_ulpevent_make_peer_addr_change(asoc, &addr,
736 0, spc_state, error, GFP_ATOMIC); 738 0, spc_state, error, GFP_ATOMIC);
737 if (event) 739 if (event)
738 sctp_ulpq_tail_event(&asoc->ulpq, event); 740 sctp_ulpq_tail_event(&asoc->ulpq, event);