freezer: remove racy clear_freeze_flag() and set PF_NOFREEZE on dead tasks
authorTejun Heo <tj@kernel.org>
Mon, 21 Nov 2011 20:32:23 +0000 (12:32 -0800)
committerTejun Heo <tj@kernel.org>
Mon, 21 Nov 2011 20:32:23 +0000 (12:32 -0800)
commita585042f7b933539a0b6bc63650c2d49ffb2e55d
treebb93d05050e04c4bcd53fdf535239e6312fb62e2
parenta5be2d0d1a8746e7be5210e3d6b904455000443c
freezer: remove racy clear_freeze_flag() and set PF_NOFREEZE on dead tasks

clear_freeze_flag() in exit_mm() is racy.  Freezing can start
afterwards.  Remove it.  Skipping freezer for exiting task will be
properly implemented later.

Also, freezable() was testing exit_state directly to make system
freezer ignore dead tasks.  Let the exiting task set PF_NOFREEZE after
entering TASK_DEAD instead.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
kernel/exit.c
kernel/power/process.c