diff options
author | Eric Dumazet <edumazet@google.com> | 2012-05-18 05:12:12 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-18 13:31:25 -0400 |
commit | 6f532612cc2410a5079ea0f83e7a5011adfbf70d (patch) | |
tree | 0459fada6287120f5c47ed56c440c4d1c3e3eaa2 /net/ipv6/ip6_output.c | |
parent | 56138f50d1900b0c3d8647376e37b488b23ba53d (diff) | |
download | op-kernel-dev-6f532612cc2410a5079ea0f83e7a5011adfbf70d.zip op-kernel-dev-6f532612cc2410a5079ea0f83e7a5011adfbf70d.tar.gz |
net: introduce netdev_alloc_frag()
Fix two issues introduced in commit a1c7fff7e18f5
( 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: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_output.c')
0 files changed, 0 insertions, 0 deletions