taskstats: check nla_reserve() return
authorAlan Cox <alan@linux.intel.com>
Mon, 30 Jul 2012 21:42:49 +0000 (14:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Jul 2012 00:25:21 +0000 (17:25 -0700)
Addresses https://bugzilla.kernel.org/show_bug.cgi?id=44621

Reported-by: <rucsoftsec@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/taskstats.c

index e66046456f4ffebab2ec0300e0537a1fb1911e56..d0a32796550fcdf81e40d18cda31a3b353d332d5 100644 (file)
@@ -436,6 +436,11 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info)
 
        na = nla_reserve(rep_skb, CGROUPSTATS_TYPE_CGROUP_STATS,
                                sizeof(struct cgroupstats));
+       if (na == NULL) {
+               rc = -EMSGSIZE;
+               goto err;
+       }
+
        stats = nla_data(na);
        memset(stats, 0, sizeof(*stats));