Re: [RFC PATCH 1/2] Fix PF_NOFREEZE and freezeable race

Rafael J. Wysocki
2007-04-19T22:29:17Z

Hi,

On Thursday, 19 April 2007 14:02, Gautham R Shenoy wrote:
> This patch fixes the race pointed out by Oleg Nesterov.
>
> * Freezer marks a thread as freezeable.
> * The thread now marks itself PF_NOFREEZE causing it to
> freeze on calling try_to_freeze(). Thus the task is frozen, even though
> it doesn't want to.
> * Subsequent thaw_processes() will also fail to thaw the task since it is
> marked PF_NOFREEZE.
>
> Avoid this problem by checking the current task's PF_NOFREEZE status in the
> refrigerator before marking current as frozen.
>
> Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>

Looks good, although I'm not sure if we don't need to call recalc_sigpending()
for tasks that turn out to be PF_NOFREEZE.

Greetings,
Rafael