|
@@ -749,15 +749,17 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
>= dev->tx_queue_len / tun->numqueues)
|
|
|
goto drop;
|
|
|
|
|
|
+ if (unlikely(skb_orphan_frags(skb, GFP_ATOMIC)))
|
|
|
+ goto drop;
|
|
|
+
|
|
|
if (skb->sk) {
|
|
|
sock_tx_timestamp(skb->sk, &skb_shinfo(skb)->tx_flags);
|
|
|
sw_tx_timestamp(skb);
|
|
|
}
|
|
|
|
|
|
/* Orphan the skb - required as we might hang on to it
|
|
|
- * for indefinite time. */
|
|
|
- if (unlikely(skb_orphan_frags(skb, GFP_ATOMIC)))
|
|
|
- goto drop;
|
|
|
+ * for indefinite time.
|
|
|
+ */
|
|
|
skb_orphan(skb);
|
|
|
|
|
|
nf_reset(skb);
|