aboutsummaryrefslogtreecommitdiff
path: root/arch/microblaze/mm/fault.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2010-05-20 11:07:23 -0700
committerTony Lindgren <tony@atomide.com>2010-05-20 11:07:23 -0700
commitdf760137ad3cbfa15ceed42478f81bff01b6e799 (patch)
treebe939c9d11094858d74141a4c62cb23f477754d8 /arch/microblaze/mm/fault.c
parent754b8e653412106ff613f4750b197f807fcd8347 (diff)
parentde997718b64df2f766736f23f8557da450b83a25 (diff)
Merge branch 'omap-boards' into omap-for-linus
Diffstat (limited to 'arch/microblaze/mm/fault.c')
-rw-r--r--arch/microblaze/mm/fault.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c
index 7af87f4b2c2..bab92299318 100644
--- a/arch/microblaze/mm/fault.c
+++ b/arch/microblaze/mm/fault.c
@@ -273,16 +273,11 @@ bad_area_nosemaphore:
* us unable to handle the page fault gracefully.
*/
out_of_memory:
- if (current->pid == 1) {
- yield();
- down_read(&mm->mmap_sem);
- goto survive;
- }
up_read(&mm->mmap_sem);
- printk(KERN_WARNING "VM: killing process %s\n", current->comm);
- if (user_mode(regs))
- do_exit(SIGKILL);
- bad_page_fault(regs, address, SIGKILL);
+ if (!user_mode(regs))
+ bad_page_fault(regs, address, SIGKILL);
+ else
+ pagefault_out_of_memory();
return;
do_sigbus: