Makes it easier to read the non-error path. While at it, move the retval=0 assignment inside the !group_size check. This way the comment describe this check is directly above it(we also avoid an extra assignment not needed in the normal path). Also return 0 directly instead of using retval. Signed-off-by: Mandeep Singh Baines <msb@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: containers@xxxxxxxxxxxxxxxxxxxxxxxxxx Cc: cgroups@xxxxxxxxxxxxxxx Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Menage <paul@xxxxxxxxxxxxxx> --- kernel/cgroup.c | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-) diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 2ac9eee..9ce0872 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -2067,9 +2067,10 @@ int cgroup_attach_proc(struct cgroup *cgrp, struct task_struct *leader) read_unlock(&tasklist_lock); /* methods shouldn't be called if no task is actually migrating */ - retval = 0; - if (!group_size) + if (!group_size) { + retval = 0; goto out_free_group_list; + } /* * step 1: check that we can legitimately attach to the cgroup. @@ -2126,20 +2127,20 @@ int cgroup_attach_proc(struct cgroup *cgrp, struct task_struct *leader) */ synchronize_rcu(); cgroup_wakeup_rmdir_waiter(cgrp); - retval = 0; + flex_array_free(group); + return 0; + out_list_teardown: for (i = 0; i < css_set_refs; i++) { tc = flex_array_get(group, i); put_css_set(tc->cg); } out_cancel_attach: - if (retval) { - for_each_subsys(root, ss) { - if (ss == failed_ss) - break; - if (ss->cancel_attach) - ss->cancel_attach(ss, cgrp, &tset); - } + for_each_subsys(root, ss) { + if (ss == failed_ss) + break; + if (ss->cancel_attach) + ss->cancel_attach(ss, cgrp, &tset); } out_free_group_list: flex_array_free(group); -- 1.7.3.1 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers