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

Commit 679a5e3f authored by Tejun Heo's avatar Tejun Heo
Browse files

cpuset: fix error handling regression in proc_cpuset_show()



4c737b41 ("cgroup: make cgroup_path() and friends behave in the
style of strlcpy()") botched the conversion of proc_cpuset_show() and
broke its error handling.  It made the function return 0 on failures
and fail to handle error returns from cgroup_path_ns().  Fix it.

Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent ed1777de
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2698,12 +2698,13 @@ int proc_cpuset_show(struct seq_file *m, struct pid_namespace *ns,
	if (!buf)
		goto out;

	retval = -ENAMETOOLONG;
	css = task_get_css(tsk, cpuset_cgrp_id);
	retval = cgroup_path_ns(css->cgroup, buf, PATH_MAX,
				current->nsproxy->cgroup_ns);
	css_put(css);
	if (retval >= PATH_MAX)
		retval = -ENAMETOOLONG;
	if (retval < 0)
		goto out_free;
	seq_puts(m, buf);
	seq_putc(m, '\n');
@@ -2711,7 +2712,7 @@ int proc_cpuset_show(struct seq_file *m, struct pid_namespace *ns,
out_free:
	kfree(buf);
out:
	return 0;
	return retval;
}
#endif /* CONFIG_PROC_PID_CPUSET */