aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/netlink.h
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2006-11-10 17:10:15 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-03 00:22:11 -0500
commit339bf98ffc6a8d8eb16fc532ac57ffbced2f8a68 (patch)
tree499ad948863d2753ca10283dcf006ad28954538e /include/net/netlink.h
parenta94f723d595ee085f81b1788d18e031af7eeba91 (diff)
[NETLINK]: Do precise netlink message allocations where possible
Account for the netlink message header size directly in nlmsg_new() instead of relying on the caller calculate it correctly. Replaces error handling of message construction functions when constructing notifications with bug traps since a failure implies a bug in calculating the size of the skb. Signed-off-by: Thomas Graf <tgraf@suug.ch> Acked-by: Paul Moore <paul.moore@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/netlink.h')
-rw-r--r--include/net/netlink.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/net/netlink.h b/include/net/netlink.h
index ce5cba19c393..30021339157c 100644
--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -500,14 +500,15 @@ static inline struct nlmsghdr *nlmsg_put_answer(struct sk_buff *skb,
500 500
501/** 501/**
502 * nlmsg_new - Allocate a new netlink message 502 * nlmsg_new - Allocate a new netlink message
503 * @size: maximum size of message 503 * @payload: size of the message payload
504 * @flags: the type of memory to allocate. 504 * @flags: the type of memory to allocate.
505 * 505 *
506 * Use NLMSG_GOODSIZE if size isn't know and you need a good default size. 506 * Use NLMSG_DEFAULT_SIZE if the size of the payload isn't known
507 * and a good default is needed.
507 */ 508 */
508static inline struct sk_buff *nlmsg_new(int size, gfp_t flags) 509static inline struct sk_buff *nlmsg_new(size_t payload, gfp_t flags)
509{ 510{
510 return alloc_skb(size, flags); 511 return alloc_skb(nlmsg_total_size(payload), flags);
511} 512}
512 513
513/** 514/**