Hello, Cong.

On Tue, Sep 02, 2014 at 03:52:40PM -0700, Cong Wang wrote:
> diff --git a/kernel/freezer.c b/kernel/freezer.c
> index 33cbcb0..b06a059 100644
> --- a/kernel/freezer.c
> +++ b/kernel/freezer.c
> @@ -56,7 +56,8 @@ static bool should_thaw_current(bool check_kthr_stop)
>  {
>         if (!freezing(current) ||
>             (check_kthr_stop && kthread_should_stop()) ||
> -           test_thread_flag(TIF_MEMDIE))
> +           /* It might not be safe to check TIF_MEMDIE for pm freeze */
> +           (cgroup_freezing(current) && test_thread_flag(TIF_MEMDIE)))
>                 return true;
>         else
>                 return false;
> 
> Are you happy now, Tejun? :)

Yes, this should be a lot safer.  The function still looks weird to me
tho.

        if (cond)
                return true;
        else
                return false;

is equivalent to

        return cond;

If you're worried that the conditional is too complex and harms
readability you can do

        /* explain cond0 */
        if (cond0)
                return true;

        /* explain cond1 */
        if (cond1)
                return true;

        return false;

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to