X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=mm%2Foom_kill.c;h=3791edfffeebe9595f54ce7d04fe424832aa6af5;hb=ded1504dfa0083661fdd1a0a5f021cb7313ffe04;hp=b278b8d60eee4ac13bba50222c478901cff39a60;hpb=81ebd4988892869260808286641a5400aafcb3d1;p=powerpc.git diff --git a/mm/oom_kill.c b/mm/oom_kill.c index b278b8d60e..3791edfffe 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -176,6 +176,8 @@ static inline int constrained_alloc(struct zonelist *zonelist, gfp_t gfp_mask) struct zone **z; nodemask_t nodes; int node; + + nodes_clear(nodes); /* node has memory ? */ for_each_online_node(node) if (NODE_DATA(node)->node_present_pages) @@ -320,7 +322,7 @@ static int oom_kill_task(struct task_struct *p) * Don't kill the process if any threads are set to OOM_DISABLE */ do_each_thread(g, q) { - if (q->mm == mm && p->oomkilladj == OOM_DISABLE) + if (q->mm == mm && q->oomkilladj == OOM_DISABLE) return 1; } while_each_thread(g, q); @@ -333,7 +335,7 @@ static int oom_kill_task(struct task_struct *p) */ do_each_thread(g, q) { if (q->mm == mm && q->tgid != p->tgid) - force_sig(SIGKILL, p); + force_sig(SIGKILL, q); } while_each_thread(g, q); return 0;