Commit 3d8334def5cf831d2ed438aae021696a2faa4ddd
Committed by
Linus Torvalds
1 parent
d46a3d0d07
Exists in
master
and in
4 other branches
[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
kernel/taskstats.c
... | ... | @@ -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 |