diff options
author | 2015-11-05 18:48:26 -0800 | |
---|---|---|
committer | 2015-11-05 19:34:48 -0800 | |
commit | 4d7b3394f76ed72cfdec23ca5571dbab6ec41793 (patch) | |
tree | c32212a9df243b5e96b694f8cb9abd51138e9b5c /include | |
parent | mm/oom_kill: cleanup the "kill sharing same memory" loop (diff) | |
download | linux-dev-4d7b3394f76ed72cfdec23ca5571dbab6ec41793.tar.xz linux-dev-4d7b3394f76ed72cfdec23ca5571dbab6ec41793.zip |
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')
0 files changed, 0 insertions, 0 deletions