• Michal Hocko's avatar
    freezer, oom: check TIF_MEMDIE on the correct task · a34c80a7
    Michal Hocko authored
    freezing_slow_path() is checking TIF_MEMDIE to skip OOM killed tasks.
    It is, however, checking the flag on the current task rather than the
    given one.  This is really confusing because freezing() can be called
    also on !current tasks.  It would end up working correctly for its main
    purpose because __refrigerator will be always called on the current task
    so the oom victim will never get frozen.  But it could lead to
    surprising results when a task which is freezing a cgroup got oom killed
    because only part of the cgroup would get frozen.  This is highly
    unlikely but worth fixing as the resulting code would be more clear
    anyway.
    
    Link: http://lkml.kernel.org/r/1467029719-17602-2-git-send-email-mhocko@kernel.org
    
    Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Miao Xie <miaox@cn.fujitsu.com>
    Cc: Miao Xie <miaoxie@huawei.com>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation...
    a34c80a7
freezer.c 4.44 KB