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

From: Rafael J. Wysocki
Date: Thu Apr 19 2007 - 18:29:31 EST


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@xxxxxxxxxx>

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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/