public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] freezer_cg: fix improper BUG_ON() causing oops
@ 2008-10-21  0:48 Li Zefan
  2008-10-21  0:50 ` [PATCH 2/4] freezer_cg: remove redundant check in freezer_can_attach() Li Zefan
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Li Zefan @ 2008-10-21  0:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Matt Helsley, Cedric Le Goater, LKML, Linux Containers

The BUG_ON() should be protected by freezer->lock, otherwise it
can be triggered easily when a task has been unfreezed but the
corresponding cgroup hasn't been changed to FROZEN state.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
 kernel/cgroup_freezer.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/kernel/cgroup_freezer.c b/kernel/cgroup_freezer.c
index e950569..7f54d1c 100644
--- a/kernel/cgroup_freezer.c
+++ b/kernel/cgroup_freezer.c
@@ -190,8 +190,9 @@ static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task)
 	freezer = task_freezer(task);
 	task_unlock(task);
 
-	BUG_ON(freezer->state == CGROUP_FROZEN);
 	spin_lock_irq(&freezer->lock);
+	BUG_ON(freezer->state == CGROUP_FROZEN);
+
 	/* Locking avoids race with FREEZING -> THAWED transitions. */
 	if (freezer->state == CGROUP_FREEZING)
 		freeze_task(task, true);
-- 
1.5.4.rc3


^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2008-10-22  7:38 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-21  0:48 [PATCH 1/4] freezer_cg: fix improper BUG_ON() causing oops Li Zefan
2008-10-21  0:50 ` [PATCH 2/4] freezer_cg: remove redundant check in freezer_can_attach() Li Zefan
2008-10-21  0:51   ` [PATCH 3/4] freezer_cg: use thaw_process() in unfreeze_cgroup() Li Zefan
2008-10-21  0:52     ` [PATCH 4/4] freezer_cg: simplify freezer_change_state() Li Zefan
2008-10-21  9:53       ` Cedric Le Goater
2008-10-21 21:45       ` Matt Helsley
2008-10-21  7:16     ` [PATCH 3/4] freezer_cg: use thaw_process() in unfreeze_cgroup() Cedric Le Goater
2008-10-21  8:40       ` Li Zefan
2008-10-21 20:58       ` Andrew Morton
2008-10-22  7:37         ` Cedric Le Goater
2008-10-21 21:44     ` Matt Helsley
2008-10-21  7:32   ` [PATCH 2/4] freezer_cg: remove redundant check in freezer_can_attach() Cedric Le Goater
2008-10-21  9:29     ` Li Zefan
2008-10-21  9:47       ` Cedric Le Goater
2008-10-21 21:40   ` Matt Helsley
2008-10-21  7:16 ` [PATCH 1/4] freezer_cg: fix improper BUG_ON() causing oops Cedric Le Goater
2008-10-21 21:39 ` Matt Helsley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox