diff options
author | Tejun Heo <tj@kernel.org> | 2017-07-23 08:14:15 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2017-07-23 08:15:17 -0400 |
commit | 3c74541777302eec43a0d1327c4d58b8659a776b (patch) | |
tree | c52728bcb2983d54cc428d8035bee3e20f516c7e /kernel | |
parent | 7af608e4f9530372aec6e940552bf76595f2e265 (diff) | |
download | linux-3c74541777302eec43a0d1327c4d58b8659a776b.tar.gz linux-3c74541777302eec43a0d1327c4d58b8659a776b.tar.bz2 linux-3c74541777302eec43a0d1327c4d58b8659a776b.zip |
cgroup: fix error return value from cgroup_subtree_control()
While refactoring, f7b2814bb9b6 ("cgroup: factor out
cgroup_{apply|finalize}_control() from
cgroup_subtree_control_write()") broke error return value from the
function. The return value from the last operation is always
overridden to zero. Fix it.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org # v4.6+
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/cgroup/cgroup.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index 744975947d01..df2e0f14a95d 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -3001,11 +3001,11 @@ static ssize_t cgroup_subtree_control_write(struct kernfs_open_file *of, cgrp->subtree_control &= ~disable; ret = cgroup_apply_control(cgrp); - cgroup_finalize_control(cgrp, ret); + if (ret) + goto out_unlock; kernfs_activate(cgrp->kn); - ret = 0; out_unlock: cgroup_kn_unlock(of->kn); return ret ?: nbytes; |