Eric Dumazet
6f532612cc
net: introduce netdev_alloc_frag()
...
Fix two issues introduced in commit a1c7fff7e1
( 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 >
2012-05-18 13:31:25 -04:00
..
2012-04-15 17:35:19 -07:00
2012-03-28 10:01:29 -07:00
2012-04-23 14:23:32 +03:00
2012-04-16 16:45:34 +02:00
2012-04-16 21:27:07 +02:00
2012-04-05 05:08:03 -04:00
2012-04-20 20:30:19 -04:00
2012-03-30 17:31:56 -07:00
2012-05-16 22:17:37 -04:00
2012-05-08 20:25:42 +02:00
2012-05-09 12:53:47 +02:00
2012-04-16 15:19:12 -04:00
2012-04-11 09:31:01 +02:00
2012-04-10 14:30:45 -04:00
2012-04-04 10:09:30 -07:00
2012-04-27 11:03:38 -06:00
2012-05-16 22:17:37 -04:00
2012-03-30 16:45:39 -07:00
2012-05-15 20:14:35 -04:00
2012-03-30 12:33:28 +02:00
2012-03-28 18:30:03 +01:00
2012-03-29 18:12:23 -07:00
2012-03-30 03:23:30 -04:00
2012-03-29 15:38:31 +10:30
2012-03-29 14:46:05 -07:00
2012-03-29 19:52:48 +08:00
2012-04-05 05:08:04 -04:00
2012-04-14 15:24:26 -04:00
2012-03-28 15:58:21 -07:00
2012-03-28 16:36:44 +02:00
2012-03-28 15:02:41 -07:00
2012-04-04 17:13:43 -07:00
2012-04-10 15:30:16 -07:00
2012-03-28 14:24:40 -07:00
2012-04-30 15:30:18 -07:00
2012-05-17 15:36:35 -04:00
2012-05-15 13:13:33 -04:00
2012-03-31 16:03:16 -04:00
2012-04-03 18:36:20 -04:00
2012-04-02 14:41:27 -07:00
2012-04-05 15:30:34 -07:00
2012-04-12 12:57:08 +02:00
2012-04-27 10:46:45 +08:00
2012-03-28 14:08:46 -07:00
2012-04-03 17:47:15 -04:00
2012-03-28 15:58:21 -07:00
2012-04-16 14:19:29 -04:00
2012-05-16 15:17:08 -04:00
2012-03-27 22:45:26 -04:00
2012-04-15 13:06:05 -04:00
2012-04-15 13:06:05 -04:00
2012-04-28 22:21:51 -04:00
2012-05-01 09:30:55 -04:00
2012-04-21 16:26:33 -04:00
2012-05-17 15:49:51 -04:00
2012-03-28 18:30:03 +01:00
2012-05-08 19:38:31 +02:00
2012-05-15 20:14:35 -04:00
2012-04-23 11:04:29 +10:00
2012-04-12 00:37:48 -06:00
2012-05-18 01:35:08 -04:00
2012-04-12 18:35:58 -07:00
2012-03-31 13:34:04 -07:00
2012-03-29 17:41:25 -05:00
2012-03-28 23:30:28 +02:00
2012-04-11 22:55:25 -03:00
2012-05-01 09:30:55 -04:00
2012-04-23 12:11:47 +01:00
2012-03-28 18:30:03 +01:00
2012-04-03 09:49:59 -07:00
2012-05-07 22:58:09 -04:00
2012-05-16 15:24:36 -04:00
2012-05-16 15:23:46 -04:00
2012-04-21 01:58:20 -04:00
2012-04-15 13:06:04 -04:00
2012-05-15 13:45:02 -04:00
2012-05-18 01:39:43 -04:00
2012-04-24 00:16:24 -04:00
2012-04-20 21:22:30 -04:00
2012-05-08 20:25:42 +02:00
2012-04-12 15:10:33 -04:00
2012-04-20 23:14:28 -04:00
2012-05-08 21:53:59 -04:00
2012-05-16 15:17:08 -04:00
2012-05-07 22:58:09 -04:00
2012-03-28 14:41:36 -07:00
2012-03-28 18:30:03 +01:00
2012-05-16 00:59:12 -04:00
2012-03-28 17:14:36 -07:00
2012-04-29 13:12:42 -07:00
2012-05-12 15:53:42 -04:00
2012-03-28 23:31:24 +02:00
2012-04-04 05:28:45 -04:00
2012-03-28 17:14:37 -07:00
2012-05-12 15:15:20 -04:00
2012-04-15 13:06:04 -04:00
2012-03-28 18:30:03 +01:00
2012-03-28 15:58:21 -07:00
2012-05-04 15:13:54 -07:00
2012-04-09 10:38:30 -07:00
2012-05-18 13:31:25 -04:00
2012-03-28 15:04:26 -07:00
2012-03-28 17:14:35 -07:00
2012-04-25 20:46:59 -04:00
2012-04-15 12:44:40 -04:00
2012-03-28 15:58:21 -07:00
2012-04-14 07:47:49 -07:00
2012-05-14 18:53:19 -04:00
2012-03-28 18:30:03 +01:00
2012-04-05 15:25:51 -07:00
2012-05-02 20:56:10 -04:00
2012-03-29 18:12:23 -07:00
2012-03-28 18:30:03 +01:00
2012-04-10 22:39:17 -06:00
2012-04-11 09:36:00 +01:00
2012-04-15 03:23:31 -04:00
2012-03-31 08:09:50 +05:30
2012-04-25 21:26:33 -07:00
2012-03-28 18:30:03 +01:00