Commit 0c3b96e4 authored by npiggin@suse.de's avatar npiggin@suse.de Committed by Tony Luck

[IA64] invoke oom-killer from page fault

As explained in commit 1c0fe6e3, we want to call the architecture independent
oom killer when getting an unexplained OOM from handle_mm_fault, rather than
simply killing current.
Acked-by: default avatarDavid Rientjes <rientjes@google.com>
Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 7683a3f9
...@@ -148,7 +148,6 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re ...@@ -148,7 +148,6 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
if ((vma->vm_flags & mask) != mask) if ((vma->vm_flags & mask) != mask)
goto bad_area; goto bad_area;
survive:
/* /*
* If for any reason at all we couldn't handle the fault, make * If for any reason at all we couldn't handle the fault, make
* sure we exit gracefully rather than endlessly redo the * sure we exit gracefully rather than endlessly redo the
...@@ -276,13 +275,7 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re ...@@ -276,13 +275,7 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
out_of_memory: out_of_memory:
up_read(&mm->mmap_sem); up_read(&mm->mmap_sem);
if (is_global_init(current)) { if (!user_mode(regs))
yield(); goto no_context;
down_read(&mm->mmap_sem); pagefault_out_of_memory();
goto survive;
}
printk(KERN_CRIT "VM: killing process %s\n", current->comm);
if (user_mode(regs))
do_group_exit(SIGKILL);
goto no_context;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment