net: use consume_skb() in place of kfree_skb()
authorEric Dumazet <edumazet@google.com>
Mon, 4 Jun 2012 01:17:19 +0000 (01:17 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Jun 2012 15:27:40 +0000 (11:27 -0400)
Remove some dropwatch/drop_monitor false positives.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/atm/lec.c
net/atm/pppoatm.c
net/ax25/ax25_out.c
net/ax25/ax25_route.c
net/decnet/dn_neigh.c
net/ipv4/ip_output.c
net/netfilter/ipvs/ip_vs_xmit.c

index a7d172105c99787ebf221584075d21090cb5d6ec..3da125c384eab4381617ff76a9b6521f839bbdeb 100644 (file)
@@ -231,9 +231,11 @@ static netdev_tx_t lec_start_xmit(struct sk_buff *skb,
        if (skb_headroom(skb) < 2) {
                pr_debug("reallocating skb\n");
                skb2 = skb_realloc_headroom(skb, LEC_HEADER_LEN);
-               kfree_skb(skb);
-               if (skb2 == NULL)
+               if (unlikely(!skb2)) {
+                       kfree_skb(skb);
                        return NETDEV_TX_OK;
+               }
+               consume_skb(skb);
                skb = skb2;
        }
        skb_push(skb, 2);
index ce1e59fdae7ba7d3b6062ba89ad9e7dc60890112..226dca9894487fd7fc1b391e827acef905a44d90 100644 (file)
@@ -283,7 +283,7 @@ static int pppoatm_send(struct ppp_channel *chan, struct sk_buff *skb)
                                kfree_skb(n);
                                goto nospace;
                        }
-                       kfree_skb(skb);
+                       consume_skb(skb);
                        skb = n;
                        if (skb == NULL)
                                return DROP_PACKET;
index be8a25e0db650db000d8ded25e27fa6e8186e3a0..be2acab9be9d8473fcf00beb861981979f381048 100644 (file)
@@ -350,7 +350,7 @@ void ax25_transmit_buffer(ax25_cb *ax25, struct sk_buff *skb, int type)
                if (skb->sk != NULL)
                        skb_set_owner_w(skbn, skb->sk);
 
-               kfree_skb(skb);
+               consume_skb(skb);
                skb = skbn;
        }
 
index a65588040b9e980ed89f6c33d28fc6dd5af450be..d39097737e387af8096e34a2ae7d1f610524e292 100644 (file)
@@ -474,7 +474,7 @@ struct sk_buff *ax25_rt_build_path(struct sk_buff *skb, ax25_address *src,
                if (skb->sk != NULL)
                        skb_set_owner_w(skbn, skb->sk);
 
-               kfree_skb(skb);
+               consume_skb(skb);
 
                skb = skbn;
        }
index ac90f658586cbd0af97f823a6cf86075394befcc..8e9a35b17df42148bf5873ab4a68743dee492f01 100644 (file)
@@ -240,7 +240,7 @@ static int dn_long_output(struct neighbour *neigh, struct sk_buff *skb)
                        kfree_skb(skb);
                        return -ENOBUFS;
                }
-               kfree_skb(skb);
+               consume_skb(skb);
                skb = skb2;
                net_info_ratelimited("dn_long_output: Increasing headroom\n");
        }
@@ -283,7 +283,7 @@ static int dn_short_output(struct neighbour *neigh, struct sk_buff *skb)
                        kfree_skb(skb);
                        return -ENOBUFS;
                }
-               kfree_skb(skb);
+               consume_skb(skb);
                skb = skb2;
                net_info_ratelimited("dn_short_output: Increasing headroom\n");
        }
@@ -322,7 +322,7 @@ static int dn_phase3_output(struct neighbour *neigh, struct sk_buff *skb)
                        kfree_skb(skb);
                        return -ENOBUFS;
                }
-               kfree_skb(skb);
+               consume_skb(skb);
                skb = skb2;
                net_info_ratelimited("dn_phase3_output: Increasing headroom\n");
        }
index 451f97c42eb40fa14987602fafa31da79911acff..b99ca4e154b96b456e406aa9b60104ff05bccc6b 100644 (file)
@@ -200,7 +200,7 @@ static inline int ip_finish_output2(struct sk_buff *skb)
                }
                if (skb->sk)
                        skb_set_owner_w(skb2, skb->sk);
-               kfree_skb(skb);
+               consume_skb(skb);
                skb = skb2;
        }
 
@@ -709,7 +709,7 @@ slow_path:
 
                IP_INC_STATS(dev_net(dev), IPSTATS_MIB_FRAGCREATES);
        }
-       kfree_skb(skb);
+       consume_skb(skb);
        IP_INC_STATS(dev_net(dev), IPSTATS_MIB_FRAGOKS);
        return err;
 
index 7fd66dec859d7ffc7a23db17e441ce5eda44592c..71d6ecb659267bfafb6bfc2d479f09dde6f0bbbc 100644 (file)
@@ -823,7 +823,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
                        IP_VS_ERR_RL("%s(): no memory\n", __func__);
                        return NF_STOLEN;
                }
-               kfree_skb(skb);
+               consume_skb(skb);
                skb = new_skb;
                old_iph = ip_hdr(skb);
        }
@@ -942,7 +942,7 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
                        IP_VS_ERR_RL("%s(): no memory\n", __func__);
                        return NF_STOLEN;
                }
-               kfree_skb(skb);
+               consume_skb(skb);
                skb = new_skb;
                old_iph = ipv6_hdr(skb);
        }