summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2006-11-15 03:44:52 (GMT)
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-03 05:22:40 (GMT)
commit3dabc7157859e706770c825aa229f8943db4e0e1 (patch)
treea6fc7ea0605b18c47b157cc9c168c642c365cd0c
parentcfb6eeb4c860592edd123fdea908d23c6ad1c7dc (diff)
downloadlinux-3dabc7157859e706770c825aa229f8943db4e0e1.tar.xz
[GENL]: Add genlmsg_new() to allocate generic netlink messages
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>
-rw-r--r--include/net/genetlink.h11
-rw-r--r--kernel/taskstats.c2
2 files changed, 12 insertions, 1 deletions
diff --git a/include/net/genetlink.h b/include/net/genetlink.h
index b619314..2010465 100644
--- a/include/net/genetlink.h
+++ b/include/net/genetlink.h
@@ -187,4 +187,15 @@ static inline int genlmsg_total_size(int payload)
return NLMSG_ALIGN(genlmsg_msg_size(payload));
}
+/**
+ * genlmsg_new - Allocate a new generic netlink message
+ * @payload: size of the message payload
+ * @flags: the type of memory to allocate.
+ */
+static inline struct sk_buff *genlmsg_new(size_t payload, gfp_t flags)
+{
+ return nlmsg_new(genlmsg_total_size(payload), flags);
+}
+
+
#endif /* __NET_GENERIC_NETLINK_H */
diff --git a/kernel/taskstats.c b/kernel/taskstats.c
index 4f3f0e4..faa5239 100644
--- a/kernel/taskstats.c
+++ b/kernel/taskstats.c
@@ -77,7 +77,7 @@ static int prepare_reply(struct genl_info *info, u8 cmd, struct sk_buff **skbp,
/*
* If new attributes are added, please revisit this allocation
*/
- skb = nlmsg_new(genlmsg_total_size(size), GFP_KERNEL);
+ skb = genlmsg_new(size, GFP_KERNEL);
if (!skb)
return -ENOMEM;