• Eric Dumazet's avatar
    net: introduce netdev_alloc_frag() · 6f532612
    Eric Dumazet authored
    Fix two issues introduced in commit a1c7fff7
    ( net: netdev_alloc_skb() use build_skb() )
    
    - Must be IRQ safe (non NAPI drivers can use it)
    - Must not leak the frag if build_skb() fails to allocate sk_buff
    
    This patch introduces netdev_alloc_frag() for drivers willing to
    use build_skb() instead of __netdev_alloc_skb() variants.
    
    Factorize code so that :
    __dev_alloc_skb() is a wrapper around __netdev_alloc_skb(), and
    dev_alloc_skb() a wrapper around netdev_alloc_skb()
    
    Use __GFP_COLD flag.
    
    Almost all network drivers now benefit from skb->head_frag
    infrastructure.
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6f532612
skbuff.c 82.9 KB