diff options
author | Oleg Nesterov | 2015-11-06 03:48:26 +0100 |
---|---|---|
committer | Linus Torvalds | 2015-11-06 04:34:48 +0100 |
commit | 4d7b3394f76ed72cfdec23ca5571dbab6ec41793 (patch) | |
tree | c32212a9df243b5e96b694f8cb9abd51138e9b5c /drivers/uio | |
parent | mm/oom_kill: cleanup the "kill sharing same memory" loop (diff) | |
download | kernel-qcow2-linux-4d7b3394f76ed72cfdec23ca5571dbab6ec41793.tar.gz kernel-qcow2-linux-4d7b3394f76ed72cfdec23ca5571dbab6ec41793.tar.xz kernel-qcow2-linux-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 'drivers/uio')
0 files changed, 0 insertions, 0 deletions