patch-2.1.86 linux/net/ipx/af_ipx.c

Next file: linux/net/lapb/lapb_in.c
Previous file: linux/net/ipv6/udp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.85/linux/net/ipx/af_ipx.c linux/net/ipx/af_ipx.c
@@ -210,7 +210,7 @@
 
 	ipx_remove_socket(sk);
 	while((skb=skb_dequeue(&sk->receive_queue))!=NULL) {
-		kfree_skb(skb,FREE_READ);
+		kfree_skb(skb);
 	}
 
 	sk_free(sk);
@@ -378,11 +378,7 @@
 
 	if((retval = sock_queue_rcv_skb(sock, skb))<0)
 	{
-		/*
-		 * skb->sk is NULL here, so FREE_WRITE does not hurt
-		 * the sending socket.
-	 	 */
-		kfree_skb(skb,FREE_WRITE);
+		kfree_skb(skb);
 	}
 	return retval;
 }
@@ -439,10 +435,9 @@
 	if (copy == 0)
 	{
 		/* skb was solely for us, and we did not make a copy,
-		 * so free it. FREE_WRITE does not hurt, because
-		 * skb->sk is NULL here.
+		 * so free it.
 		 */
-		kfree_skb(skb, FREE_WRITE);
+		kfree_skb(skb);
 	}
 	return 0;
 }
@@ -494,7 +489,7 @@
 	if (sock1 == NULL && sock2 == NULL)
 	{
 		if (!copy)
-			kfree_skb(skb,FREE_WRITE);
+			kfree_skb(skb);
 		return 0;
 	}
 
@@ -563,7 +558,7 @@
 		skb2->h.raw=skb_put(skb2,skb->len);
 		memcpy(skb2->h.raw, skb->h.raw, skb->len);
 	}
-	kfree_skb(skb, FREE_WRITE);
+	kfree_skb(skb);
 	return NULL;
 }
 
@@ -636,15 +631,7 @@
 
 	if (!send_to_wire)
 	{
-		/*
-		 *	We do a FREE_WRITE here because this indicates how
-		 *	to treat the socket with which the packet is
-	 	 *	associated.  If this packet is associated with a
-		 *	socket at all, it must be the originator of the
-		 *	packet.   Routed packets will have no socket associated
-		 *	with them.
-		 */
-		kfree_skb(skb,FREE_WRITE);
+		kfree_skb(skb);
 		return 0;
 	}
 
@@ -708,7 +695,7 @@
 
 	if (call_in_firewall(PF_IPX, skb->dev, ipx, NULL, &skb)!=FW_ACCEPT)
 	{
-		kfree_skb(skb, FREE_READ);
+		kfree_skb(skb);
 		return 0;
 	}
 
@@ -801,20 +788,20 @@
 		 */
 		if (call_fw_firewall(PF_IPX, skb->dev, ipx, NULL, &skb)!=FW_ACCEPT)
 		{
-			kfree_skb(skb, FREE_READ);
+			kfree_skb(skb);
 			return 0;
 		}
 
 		/* We only route point-to-point packets. */
 		if (skb->pkt_type == PACKET_HOST)
 		{
-			skb=skb_unshare(skb, GFP_ATOMIC, FREE_READ);
+			skb=skb_unshare(skb, GFP_ATOMIC);
 			if(skb)
 				return ipxrtr_route_skb(skb);
 			else
 				return 0;
 		}
-		kfree_skb(skb,FREE_READ);
+		kfree_skb(skb);
 		return 0;
 	}
 
@@ -826,7 +813,7 @@
 	}
 
 	/* we couldn't pawn it off so unload it */
-	kfree_skb(skb,FREE_READ);
+	kfree_skb(skb);
 	return 0;
 }
 
@@ -1381,7 +1368,7 @@
 	err = memcpy_fromiovec(skb_put(skb,len),iov,len);
 	if (err) 
 	{
-		kfree_skb(skb, FREE_WRITE);
+		kfree_skb(skb);
 		return -EFAULT; 
 	}	
 
@@ -1396,7 +1383,7 @@
 
 	if(call_out_firewall(PF_IPX, skb->dev, ipx, NULL, &skb)!=FW_ACCEPT)
 	{
-		kfree_skb(skb, FREE_WRITE);
+		kfree_skb(skb);
 		return -EPERM;
 	}
 	
@@ -1414,7 +1401,7 @@
 	if (r == NULL)
 	{
 		/* no known route */
-		kfree_skb(skb,FREE_READ);
+		kfree_skb(skb);
 		return 0;
 	}
 	i = r->ir_intrfc;
@@ -2039,7 +2026,7 @@
 	
 	/* Too small? */
 	if(ntohs(ipx->ipx_pktsize)<sizeof(struct ipxhdr)) {
-		kfree_skb(skb,FREE_READ);
+		kfree_skb(skb);
 		return 0;
 	}
 	
@@ -2047,7 +2034,7 @@
 	{
 		if(ipx_set_checksum(ipx, ntohs(ipx->ipx_pktsize))!=ipx->ipx_checksum)
 		{
-			kfree_skb(skb,FREE_READ);
+			kfree_skb(skb);
 			return 0;
 		}
 	}
@@ -2064,7 +2051,7 @@
 
 		if (intrfc == NULL) {
 			/* Not one of ours */
-			kfree_skb(skb,FREE_READ);
+			kfree_skb(skb);
 			return 0;
 		}
 	}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov