Skip to content

Commit

Permalink
kernel/taskstats.c: fix bogus nlmsg_free()
Browse files Browse the repository at this point in the history
We'd better not nlmsg_free on a pointer containing an undefined value
(and without having anything allocated).

Spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Adrian Bunk authored and Linus Torvalds committed Nov 15, 2007
1 parent 4ae44c5 commit f961598
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions kernel/taskstats.c
Original file line number Diff line number Diff line change
Expand Up @@ -398,31 +398,31 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info)

fd = nla_get_u32(info->attrs[CGROUPSTATS_CMD_ATTR_FD]);
file = fget_light(fd, &fput_needed);
if (file) {
size = nla_total_size(sizeof(struct cgroupstats));
if (!file)
return 0;

rc = prepare_reply(info, CGROUPSTATS_CMD_NEW, &rep_skb,
size);
if (rc < 0)
goto err;
size = nla_total_size(sizeof(struct cgroupstats));

na = nla_reserve(rep_skb, CGROUPSTATS_TYPE_CGROUP_STATS,
sizeof(struct cgroupstats));
stats = nla_data(na);
memset(stats, 0, sizeof(*stats));
rc = prepare_reply(info, CGROUPSTATS_CMD_NEW, &rep_skb,
size);
if (rc < 0)
goto err;

rc = cgroupstats_build(stats, file->f_dentry);
if (rc < 0)
goto err;
na = nla_reserve(rep_skb, CGROUPSTATS_TYPE_CGROUP_STATS,
sizeof(struct cgroupstats));
stats = nla_data(na);
memset(stats, 0, sizeof(*stats));

fput_light(file, fput_needed);
return send_reply(rep_skb, info->snd_pid);
rc = cgroupstats_build(stats, file->f_dentry);
if (rc < 0) {
nlmsg_free(rep_skb);
goto err;
}

rc = send_reply(rep_skb, info->snd_pid);

err:
if (file)
fput_light(file, fput_needed);
nlmsg_free(rep_skb);
fput_light(file, fput_needed);
return rc;
}

Expand Down

0 comments on commit f961598

Please sign in to comment.