瀏覽代碼

[SCTP]: sctp_assoc_del_peer() switched to net-endian.

Callers adjusted.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro 18 年之前
父節點
當前提交
38a03145ef
共有 3 個文件被更改,包括 4 次插入7 次删除
  1. 2 5
      net/sctp/associola.c
  2. 1 1
      net/sctp/sm_make_chunk.c
  3. 1 1
      net/sctp/sm_sideeffect.c

+ 2 - 5
net/sctp/associola.c

@@ -666,13 +666,10 @@ void sctp_assoc_del_peer(struct sctp_association *asoc,
 	struct list_head	*pos;
 	struct list_head	*temp;
 	struct sctp_transport	*transport;
-	union sctp_addr tmp;
-
-	flip_to_n(&tmp, addr);
 
 	list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
 		transport = list_entry(pos, struct sctp_transport, transports);
-		if (sctp_cmp_addr_exact(&tmp, &transport->ipaddr)) {
+		if (sctp_cmp_addr_exact(addr, &transport->ipaddr)) {
 			/* Do book keeping for removing the peer and free it. */
 			sctp_assoc_rm_peer(asoc, transport);
 			break;
@@ -1051,7 +1048,7 @@ void sctp_assoc_update(struct sctp_association *asoc,
 	list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
 		trans = list_entry(pos, struct sctp_transport, transports);
 		if (!sctp_assoc_lookup_paddr(new, &trans->ipaddr_h))
-			sctp_assoc_del_peer(asoc, &trans->ipaddr_h);
+			sctp_assoc_del_peer(asoc, &trans->ipaddr);
 	}
 
 	/* If the case is A (association restart), use

+ 1 - 1
net/sctp/sm_make_chunk.c

@@ -2463,7 +2463,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
 		if (sctp_cmp_addr_exact(&tmp, &tmp_addr))
 			return SCTP_ERROR_DEL_SRC_IP;
 
-		sctp_assoc_del_peer(asoc, &addr);
+		sctp_assoc_del_peer(asoc, &tmp_addr);
 		break;
 	case SCTP_PARAM_SET_PRIMARY:
 		peer = sctp_assoc_lookup_paddr(asoc, &addr);

+ 1 - 1
net/sctp/sm_sideeffect.c

@@ -835,7 +835,7 @@ static void sctp_cmd_del_non_primary(struct sctp_association *asoc)
 		t = list_entry(pos, struct sctp_transport, transports);
 		if (!sctp_cmp_addr_exact(&t->ipaddr,
 		                         &asoc->peer.primary_addr)) {
-			sctp_assoc_del_peer(asoc, &t->ipaddr_h);
+			sctp_assoc_del_peer(asoc, &t->ipaddr);
 		}
 	}