aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-08-30 22:13:51 -0400
committerDavid S. Miller <davem@davemloft.net>2014-09-01 20:39:56 -0400
commit50cbe9ab5f8d92d2d4a327b56e96559d8f63a1fa (patch)
tree6d46c376e7081c0b32d8d88a74420fd9f7c152b8 /net/core
parenteae3f88ee44251bcca3a085f9565257c6f9f9e69 (diff)
net: Validate xmit SKBs right when we pull them out of the qdisc.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 704a5434f77d..75bc5b068a13 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2656,7 +2656,7 @@ struct sk_buff *validate_xmit_vlan(struct sk_buff *skb, netdev_features_t featur
2656 return skb; 2656 return skb;
2657} 2657}
2658 2658
2659static struct sk_buff *validate_xmit_skb(struct sk_buff *skb, struct net_device *dev) 2659struct sk_buff *validate_xmit_skb(struct sk_buff *skb, struct net_device *dev)
2660{ 2660{
2661 netdev_features_t features; 2661 netdev_features_t features;
2662 2662
@@ -2719,10 +2719,6 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
2719{ 2719{
2720 int rc = NETDEV_TX_OK; 2720 int rc = NETDEV_TX_OK;
2721 2721
2722 skb = validate_xmit_skb(skb, dev);
2723 if (!skb)
2724 return rc;
2725
2726 if (likely(!skb->next)) 2722 if (likely(!skb->next))
2727 return xmit_one(skb, dev, txq, false); 2723 return xmit_one(skb, dev, txq, false);
2728 2724