diff options
Diffstat (limited to 'net/tipc')
| -rw-r--r-- | net/tipc/core.c | 24 | ||||
| -rw-r--r-- | net/tipc/core.h | 24 |
2 files changed, 25 insertions, 23 deletions
diff --git a/net/tipc/core.c b/net/tipc/core.c index b47d1842a970..696468117985 100644 --- a/net/tipc/core.c +++ b/net/tipc/core.c | |||
| @@ -102,6 +102,30 @@ int tipc_get_mode(void) | |||
| 102 | } | 102 | } |
| 103 | 103 | ||
| 104 | /** | 104 | /** |
| 105 | * buf_acquire - creates a TIPC message buffer | ||
| 106 | * @size: message size (including TIPC header) | ||
| 107 | * | ||
| 108 | * Returns a new buffer with data pointers set to the specified size. | ||
| 109 | * | ||
| 110 | * NOTE: Headroom is reserved to allow prepending of a data link header. | ||
| 111 | * There may also be unrequested tailroom present at the buffer's end. | ||
| 112 | */ | ||
| 113 | |||
| 114 | struct sk_buff *buf_acquire(u32 size) | ||
| 115 | { | ||
| 116 | struct sk_buff *skb; | ||
| 117 | unsigned int buf_size = (BUF_HEADROOM + size + 3) & ~3u; | ||
| 118 | |||
| 119 | skb = alloc_skb_fclone(buf_size, GFP_ATOMIC); | ||
| 120 | if (skb) { | ||
| 121 | skb_reserve(skb, BUF_HEADROOM); | ||
| 122 | skb_put(skb, size); | ||
| 123 | skb->next = NULL; | ||
| 124 | } | ||
| 125 | return skb; | ||
| 126 | } | ||
| 127 | |||
| 128 | /** | ||
| 105 | * tipc_core_stop_net - shut down TIPC networking sub-systems | 129 | * tipc_core_stop_net - shut down TIPC networking sub-systems |
| 106 | */ | 130 | */ |
| 107 | 131 | ||
diff --git a/net/tipc/core.h b/net/tipc/core.h index 1e149f55f3e2..188799017abd 100644 --- a/net/tipc/core.h +++ b/net/tipc/core.h | |||
| @@ -328,29 +328,7 @@ static inline struct tipc_msg *buf_msg(struct sk_buff *skb) | |||
| 328 | return (struct tipc_msg *)skb->data; | 328 | return (struct tipc_msg *)skb->data; |
| 329 | } | 329 | } |
| 330 | 330 | ||
| 331 | /** | 331 | extern struct sk_buff *buf_acquire(u32 size); |
| 332 | * buf_acquire - creates a TIPC message buffer | ||
| 333 | * @size: message size (including TIPC header) | ||
| 334 | * | ||
| 335 | * Returns a new buffer with data pointers set to the specified size. | ||
| 336 | * | ||
| 337 | * NOTE: Headroom is reserved to allow prepending of a data link header. | ||
| 338 | * There may also be unrequested tailroom present at the buffer's end. | ||
| 339 | */ | ||
| 340 | |||
| 341 | static inline struct sk_buff *buf_acquire(u32 size) | ||
| 342 | { | ||
| 343 | struct sk_buff *skb; | ||
| 344 | unsigned int buf_size = (BUF_HEADROOM + size + 3) & ~3u; | ||
| 345 | |||
| 346 | skb = alloc_skb_fclone(buf_size, GFP_ATOMIC); | ||
| 347 | if (skb) { | ||
| 348 | skb_reserve(skb, BUF_HEADROOM); | ||
| 349 | skb_put(skb, size); | ||
| 350 | skb->next = NULL; | ||
| 351 | } | ||
| 352 | return skb; | ||
| 353 | } | ||
| 354 | 332 | ||
| 355 | /** | 333 | /** |
| 356 | * buf_discard - frees a TIPC message buffer | 334 | * buf_discard - frees a TIPC message buffer |
