From 8d078ff1db5fc689b7920a4f9bc10787fc7af9be Mon Sep 17 00:00:00 2001 From: Nick Piggin Date: Fri, 23 Apr 2010 02:06:20 +1000 Subject: [PATCH] --- yaml --- r: 190931 b: refs/heads/master c: adbf6e6952e80ae42a403442dcae21438cae94b3 h: refs/heads/master i: 190929: 596d5ccae02c03e4f67d9841aaad11e511f128cb 190927: aeb3221c395ba2c6562ca3f5875c86e9471f86d6 v: v3 --- [refs] | 2 +- trunk/arch/m68k/mm/fault.c | 14 ++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 7f5f41c45004..2189c150edbf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f3c7f317c91e45aac0ef9d0b6474cd4637de69f0 +refs/heads/master: adbf6e6952e80ae42a403442dcae21438cae94b3 diff --git a/trunk/arch/m68k/mm/fault.c b/trunk/arch/m68k/mm/fault.c index d0e35cf99fc6..a96394a0333d 100644 --- a/trunk/arch/m68k/mm/fault.c +++ b/trunk/arch/m68k/mm/fault.c @@ -154,7 +154,6 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, * the fault. */ - survive: fault = handle_mm_fault(mm, vma, address, write ? FAULT_FLAG_WRITE : 0); #ifdef DEBUG printk("handle_mm_fault returns %d\n",fault); @@ -180,15 +179,10 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, */ out_of_memory: up_read(&mm->mmap_sem); - if (is_global_init(current)) { - yield(); - down_read(&mm->mmap_sem); - goto survive; - } - - printk("VM: killing process %s\n", current->comm); - if (user_mode(regs)) - do_group_exit(SIGKILL); + if (!user_mode(regs)) + goto no_context; + pagefault_out_of_memory(); + return 0; no_context: current->thread.signo = SIGBUS;