diff --git a/kernel/exit.c b/kernel/exit.c index 1803efb2922ffaaa78ebf01e064c820cd8538b4e..a75b6a7f458a7287439e40f0ac102fbb8b61e4a4 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -195,6 +195,7 @@ void release_task(struct task_struct *p) rcu_read_unlock(); proc_flush_task(p); + cgroup_release(p); write_lock_irq(&tasklist_lock); ptrace_release_task(p); @@ -220,7 +221,6 @@ void release_task(struct task_struct *p) } write_unlock_irq(&tasklist_lock); - cgroup_release(p); release_thread(p); call_rcu(&p->rcu, delayed_put_task_struct);