lkml.org 
[lkml]   [2008]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/4] freezer_cg: fix improper BUG_ON() causing oops
    Li Zefan wrote:
    > 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.

    yes. thanks,

    Acked-by: Cedric Le Goater <clg@fr.ibm.com>

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



    \
     
     \ /
      Last update: 2008-10-21 09:19    [W:0.021 / U:91.852 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site