Commit 3d8334def5cf831d2ed438aae021696a2faa4ddd

Authored by Oleg Nesterov
Committed by Linus Torvalds
1 parent d46a3d0d07

[PATCH] taskstats: fix sk_buff size calculation

prepare_reply() adds GENL_HDRLEN to the payload (genlmsg_total_size()),
but then it does genlmsg_put()->nlmsg_put().  This means we forget to
reserve a room for 'struct nlmsghdr'.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Thomas Graf <tgraf@suug.ch>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Shailabh Nagar <nagar@watson.ibm.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Jay Lan <jlan@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 2 additions and 1 deletions Side-by-side Diff

... ... @@ -77,7 +77,8 @@
77 77 /*
78 78 * If new attributes are added, please revisit this allocation
79 79 */
80   - skb = nlmsg_new(genlmsg_total_size(size), GFP_KERNEL);
  80 + size = nlmsg_total_size(genlmsg_total_size(size));
  81 + skb = nlmsg_new(size, GFP_KERNEL);
81 82 if (!skb)
82 83 return -ENOMEM;
83 84