aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/tipc/core.c24
-rw-r--r--net/tipc/core.h24
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
114struct 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/** 331extern 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
341static 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