Skip to content

Commit

Permalink
freezer_cg: remove redundant check in freezer_can_attach()
Browse files Browse the repository at this point in the history
It is sufficient to check if @task is frozen, and no need to check if the
original freezer is frozen.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Cedric Le Goater <clg@fr.ibm.com>
Acked-by: Matt Helsley <matthltc@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Li Zefan authored and Linus Torvalds committed Oct 30, 2008
1 parent 7ccb974 commit 80a6a2c
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions kernel/cgroup_freezer.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,13 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
struct task_struct *task)
{
struct freezer *freezer;
int retval;

/* Anything frozen can't move or be moved to/from */
/*
* Anything frozen can't move or be moved to/from.
*
* Since orig_freezer->state == FROZEN means that @task has been
* frozen, so it's sufficient to check the latter condition.
*/

if (is_task_frozen_enough(task))
return -EBUSY;
Expand All @@ -173,13 +177,7 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
if (freezer->state == CGROUP_FROZEN)
return -EBUSY;

retval = 0;
task_lock(task);
freezer = task_freezer(task);
if (freezer->state == CGROUP_FROZEN)
retval = -EBUSY;
task_unlock(task);
return retval;
return 0;
}

static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task)
Expand Down

0 comments on commit 80a6a2c

Please sign in to comment.