aboutsummaryrefslogtreecommitdiffstats
path: root/arch/alpha/mm/fault.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/mm/fault.c')
-rw-r--r--arch/alpha/mm/fault.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c
index 00a31deaa96e..fadd5f882ff9 100644
--- a/arch/alpha/mm/fault.c
+++ b/arch/alpha/mm/fault.c
@@ -142,7 +142,6 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
142 goto bad_area; 142 goto bad_area;
143 } 143 }
144 144
145 survive:
146 /* If for any reason at all we couldn't handle the fault, 145 /* If for any reason at all we couldn't handle the fault,
147 make sure we exit gracefully rather than endlessly redo 146 make sure we exit gracefully rather than endlessly redo
148 the fault. */ 147 the fault. */
@@ -188,16 +187,10 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
188 /* We ran out of memory, or some other thing happened to us that 187 /* We ran out of memory, or some other thing happened to us that
189 made us unable to handle the page fault gracefully. */ 188 made us unable to handle the page fault gracefully. */
190 out_of_memory: 189 out_of_memory:
191 if (is_global_init(current)) {
192 yield();
193 down_read(&mm->mmap_sem);
194 goto survive;
195 }
196 printk(KERN_ALERT "VM: killing process %s(%d)\n",
197 current->comm, task_pid_nr(current));
198 if (!user_mode(regs)) 190 if (!user_mode(regs))
199 goto no_context; 191 goto no_context;
200 do_group_exit(SIGKILL); 192 pagefault_out_of_memory();
193 return;
201 194
202 do_sigbus: 195 do_sigbus:
203 /* Send a sigbus, regardless of whether we were in kernel 196 /* Send a sigbus, regardless of whether we were in kernel