diff --git a/drivers/net/tun.c b/drivers/net/tun.c index f3a454c3295a7d2bf1839550302d908ee144d786..b95a7f44a6d8dff4c62db9bfd814ce7c65111881 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -416,6 +416,8 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev) /* Orphan the skb - required as we might hang on to it * for indefinite time. */ + if (unlikely(skb_orphan_frags(skb, GFP_ATOMIC))) + goto drop; skb_orphan(skb); /* Enqueue packet */