/* NULL is returned if there is no free memory.  */
struct sk_buff* __netdev_alloc_skb(struct net_device *dev, unsigned int length, gfp_t gfp_mask)
/* NULL is returned if there is no free memory.  */
struct sk_buff* __netdev_alloc_skb(struct net_device *dev, unsigned int length, gfp_t gfp_mask)
{
	int node = dev->dev.parent ? dev_to_node(dev->dev.parent) : -1;
	struct sk_buff *skb;
	skb = __alloc_skb(length + NET_SKB_PAD, gfp_mask, 0, node);
	if (likely(skb)) {
		skb_reserve(skb, NET_SKB_PAD);
		skb->dev = dev;
	}
	return skb;
}