Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9615984 authored by Adrian Bunk's avatar Adrian Bunk Committed by Linus Torvalds
Browse files

kernel/taskstats.c: fix bogus nlmsg_free()



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: default avatarAdrian Bunk <bunk@kernel.org>
Acked-by: default avatarBalbir Singh <balbir@linux.vnet.ibm>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4ae44c57
Loading
Loading
Loading
Loading
+18 −18
Original line number Diff line number Diff line
@@ -398,7 +398,9 @@ 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) {
	if (!file)
		return 0;

	size = nla_total_size(sizeof(struct cgroupstats));

	rc = prepare_reply(info, CGROUPSTATS_CMD_NEW, &rep_skb,
@@ -412,17 +414,15 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info)
	memset(stats, 0, sizeof(*stats));

	rc = cgroupstats_build(stats, file->f_dentry);
		if (rc < 0)
	if (rc < 0) {
		nlmsg_free(rep_skb);
		goto err;

		fput_light(file, fput_needed);
		return send_reply(rep_skb, info->snd_pid);
	}

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

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