Re: [PATCH 5/5] cgroup: separate out cgroup_attach_proc errorhandling code

From: Tejun Heo
Date: Tue Dec 20 2011 - 18:35:08 EST


Hello,

On Tue, Dec 20, 2011 at 03:14:33PM -0800, Mandeep Singh Baines wrote:
> @@ -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;
> + }

Eh... I don't think this is an improvement. It's just different.

> @@ -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;

Hmm... maybe goto out_free_group_list? Duplicating cleanup on success
and failure paths can lead future updaters forget one of them. The
exit path in this function isn't pretty but I don't think the proposed
patch improves it either.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/