diff options
author | Oleg Nesterov <oleg@redhat.com> | 2015-11-06 05:48:26 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-06 06:34:48 +0300 |
commit | 4d7b3394f76ed72cfdec23ca5571dbab6ec41793 (patch) | |
tree | c32212a9df243b5e96b694f8cb9abd51138e9b5c /include/linux/page-flags.h | |
parent | c319025a6c79e532d862e3a0b9506ba316a4d13a (diff) | |
download | linux-4d7b3394f76ed72cfdec23ca5571dbab6ec41793.tar.xz |
mm/oom_kill: fix the wrong task->mm == mm checks in oom_kill_process()
Both "child->mm == mm" and "p->mm != mm" checks in oom_kill_process() are
wrong. task->mm can be NULL if the task is the exited group leader. This
means in particular that "kill sharing same memory" loop can miss a
process with a zombie leader which uses the same ->mm.
Note: the process_has_mm(child, p->mm) check is still not 100% correct,
p->mm can be NULL too. This is minor, but probably deserves a fix or a
comment anyway.
[akpm@linux-foundation.org: document process_shares_mm() a bit]
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Kyle Walker <kwalker@redhat.com>
Cc: Stanislav Kozina <skozina@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/page-flags.h')
0 files changed, 0 insertions, 0 deletions