X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Falpha%2Fmm%2Ffault.c;h=e5a0c5c7828238087ad676f176524687e3b28601;hb=refs%2Fheads%2Fvserver;hp=64ace5a9cd3d1383159992d0bdff9363fbf13238;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index 64ace5a9c..e5a0c5c78 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c @@ -4,7 +4,6 @@ * Copyright (C) 1995 Linus Torvalds */ -#include #include #include #include @@ -109,7 +108,7 @@ do_page_fault(unsigned long address, unsigned long mmcsr, /* If we're in an interrupt context, or have no user context, we must not take the fault. */ - if (!mm || in_interrupt()) + if (!mm || in_atomic()) goto no_context; #ifdef CONFIG_ALPHA_LARGE_VMALLOC @@ -194,13 +193,13 @@ do_page_fault(unsigned long address, unsigned long mmcsr, /* We ran out of memory, or some other thing happened to us that made us unable to handle the page fault gracefully. */ out_of_memory: - if (current->pid == 1) { + if (is_init(current)) { yield(); down_read(&mm->mmap_sem); goto survive; } - printk(KERN_ALERT "VM: killing process %s(%d)\n", - current->comm, current->pid); + printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n", + current->comm, current->pid, current->xid); if (!user_mode(regs)) goto no_context; do_exit(SIGKILL);