From: Balbir Singh The addition of the CSA patch pushed the size of struct taskstats to 256 bytes. This exposed a problem with prepare_reply(), we were not allocating space for the netlink and genetlink header. It worked earlier because alloc_skb() would align the skb to SMP_CACHE_BYTES, which added some additonal bytes. Signed-off-by: Balbir Singh Cc: Jamal Hadi Cc: Shailabh Nagar Cc: Thomas Graf Cc: "David S. Miller" Cc: Jay Lan Signed-off-by: Andrew Morton --- kernel/taskstats.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN kernel/taskstats.c~fix-taskstats-size-calculation-use-the-new-genetlink-utility-functions kernel/taskstats.c --- a/kernel/taskstats.c~fix-taskstats-size-calculation-use-the-new-genetlink-utility-functions +++ a/kernel/taskstats.c @@ -75,7 +75,7 @@ static int prepare_reply(struct genl_inf /* * If new attributes are added, please revisit this allocation */ - skb = nlmsg_new(size, GFP_KERNEL); + skb = nlmsg_new(genlmsg_total_size(size), GFP_KERNEL); if (!skb) return -ENOMEM; _