diff --git a/net/core/dev.c b/net/core/dev.c index 7c30dcecee1df7244f665483e30683e31eaf4d46..4040673f806aec18645c058546c6d10f5eca00e9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2565,8 +2565,11 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, } while (skb->next); out_kfree_gso_skb: - if (likely(skb->next == NULL)) + if (likely(skb->next == NULL)) { skb->destructor = DEV_GSO_CB(skb)->destructor; + consume_skb(skb); + return rc; + } out_kfree_skb: kfree_skb(skb); out: