diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index a0e18da594d94216e716d69f66b2cec0074aa43d..25154df3055abf7a501db5b5b00255d0bcbb410e 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c @@ -197,7 +197,7 @@ do_page_fault(unsigned long address, unsigned long mmcsr, current->comm, current->pid); if (!user_mode(regs)) goto no_context; - do_exit(SIGKILL); + do_group_exit(SIGKILL); do_sigbus: /* Send a sigbus, regardless of whether we were in kernel diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 846cce48e2b7fa8e2a012bfab6e76e1431390155..59ed1d05b71bf6d858e515d928da4ad102276d91 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c @@ -266,7 +266,7 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) * the page fault gracefully. */ printk("VM: killing process %s\n", tsk->comm); - do_exit(SIGKILL); + do_group_exit(SIGKILL); return 0; } if (fault & VM_FAULT_SIGBUS) { diff --git a/arch/avr32/mm/fault.c b/arch/avr32/mm/fault.c index ae2d2c593b2b027efa74f6a69ab31efabf8ec5b6..11472f8701bdf4a88202d81e723efef38208e743 100644 --- a/arch/avr32/mm/fault.c +++ b/arch/avr32/mm/fault.c @@ -216,7 +216,7 @@ asmlinkage void do_page_fault(unsigned long ecr, struct pt_regs *regs) } printk("VM: Killing process %s\n", tsk->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/cris/mm/fault.c b/arch/cris/mm/fault.c index 8672ab7d7978f4e0303c8bd466062487d246f478..8aab814306955a68a150a2453cfcb72f62c2441f 100644 --- a/arch/cris/mm/fault.c +++ b/arch/cris/mm/fault.c @@ -360,7 +360,7 @@ do_page_fault(unsigned long address, struct pt_regs *regs, up_read(&mm->mmap_sem); printk("VM: killing process %s\n", tsk->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/frv/mm/fault.c b/arch/frv/mm/fault.c index 6798fa0257b1521cab1c033c806d10236fc8c389..05093d41d98ea77c9213f50d8920cfc69d4c3874 100644 --- a/arch/frv/mm/fault.c +++ b/arch/frv/mm/fault.c @@ -259,7 +259,7 @@ asmlinkage void do_page_fault(int datammu, unsigned long esr0, unsigned long ear up_read(&mm->mmap_sem); printk("VM: killing process %s\n", current->comm); if (user_mode(__frame)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index 9150ffaff9e891da5ed52fbc05ed040d026afabc..32f26253c4e8cea6b938e8babdffb96e826e6ac8 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c @@ -281,6 +281,6 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re } printk(KERN_CRIT "VM: killing process %s\n", current->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; } diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c index 676a1c443d28c7dfbc22243f6aeb395fb3c84494..70a766aad3e0bdbcdc22b6dfd11033d3183846aa 100644 --- a/arch/m32r/mm/fault.c +++ b/arch/m32r/mm/fault.c @@ -278,7 +278,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code, } printk("VM: killing process %s\n", tsk->comm); if (error_code & ACE_USERMODE) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c index 578b48f47b9e3db8a8f30397351fe841ca7ea85a..eaa618681159524ec1cf287b2ff1c91bf72d2da7 100644 --- a/arch/m68k/mm/fault.c +++ b/arch/m68k/mm/fault.c @@ -188,7 +188,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, printk("VM: killing process %s\n", current->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); no_context: current->thread.signo = SIGBUS; diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c index 521771b373dedb2bb9dbab8e2a65c3c27be69044..5699c7713e2f01c5b42f7803df82c61c4b48ec8c 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c @@ -180,7 +180,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write, } printk("VM: killing process %s\n", tsk->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c index 7899ab87785aab13576aedac86431d931699aae8..1c091b415cd9b8375506c470527ae929b9900b9c 100644 --- a/arch/parisc/mm/fault.c +++ b/arch/parisc/mm/fault.c @@ -263,6 +263,6 @@ void do_page_fault(struct pt_regs *regs, unsigned long code, up_read(&mm->mmap_sem); printk(KERN_CRIT "VM: killing process %s\n", current->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; } diff --git a/arch/ppc/mm/fault.c b/arch/ppc/mm/fault.c index b98244e277fbc97857af375d6fb7339f39c5deb7..94913ddcf76e8524392dec4f5d9b53bccbc2011f 100644 --- a/arch/ppc/mm/fault.c +++ b/arch/ppc/mm/fault.c @@ -297,7 +297,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, } printk("VM: killing process %s\n", current->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); return SIGKILL; do_sigbus: diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 4c1ac341ec80633c95194f3c83ab7f358b36189a..14c241ccdd4d9aa47c8697cdb4f9492821c1e224 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -218,7 +218,7 @@ static int do_out_of_memory(struct pt_regs *regs, unsigned long error_code, } printk("VM: killing process %s\n", tsk->comm); if (regs->psw.mask & PSW_MASK_PSTATE) - do_exit(SIGKILL); + do_group_exit(SIGKILL); do_no_context(regs, error_code, address); return 0; } diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index 04a39aa7f1f97029a8c182b93077c9f2a7a67e57..4729668ce5bf3b4ca261d689906ed14db30e01e5 100644 --- a/arch/sh/mm/fault.c +++ b/arch/sh/mm/fault.c @@ -214,7 +214,7 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs, } printk("VM: killing process %s\n", tsk->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/sh64/mm/fault.c b/arch/sh64/mm/fault.c index 0d069d82141f22e3283a99c174bb3217a016a3f8..dd81c669c79b5b63df7c52447f320c96d8a15dd4 100644 --- a/arch/sh64/mm/fault.c +++ b/arch/sh64/mm/fault.c @@ -334,7 +334,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess, } printk("VM: killing process %s\n", tsk->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/sparc/mm/fault.c b/arch/sparc/mm/fault.c index 50747fe443568219995122592797e6e9f0be00c1..e4d9c8e19df5d1e70c3de848898cba9fe977eda4 100644 --- a/arch/sparc/mm/fault.c +++ b/arch/sparc/mm/fault.c @@ -369,7 +369,7 @@ asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write, up_read(&mm->mmap_sem); printk("VM: killing process %s\n", tsk->comm); if (from_user) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c index 9f7740eee8d2957eeaf6170648f390a08e8a4268..e2027f27c0fe73f2f43546aa838577e86fc6e3ba 100644 --- a/arch/sparc64/mm/fault.c +++ b/arch/sparc64/mm/fault.c @@ -463,7 +463,7 @@ asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) up_read(&mm->mmap_sem); printk("VM: killing process %s\n", current->comm); if (!(regs->tstate & TSTATE_PRIV)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto handle_kernel_fault; intr_or_no_mm: diff --git a/arch/x86/mm/fault_32.c b/arch/x86/mm/fault_32.c index be72c2a5b03b4a1e4fea65b3431faf21d1491d3a..c686ae20fd6bbd802b18048ba9e7914c50053ac4 100644 --- a/arch/x86/mm/fault_32.c +++ b/arch/x86/mm/fault_32.c @@ -593,7 +593,7 @@ fastcall void __kprobes do_page_fault(struct pt_regs *regs, } printk("VM: killing process %s\n", tsk->comm); if (error_code & 4) - do_exit(SIGKILL); + do_group_exit(SIGKILL); goto no_context; do_sigbus: diff --git a/arch/xtensa/mm/fault.c b/arch/xtensa/mm/fault.c index 45d28f217c030933f9d2076d3bcf394e00dca484..2f842859948f5993780b83fae5d3e66390bf1d6d 100644 --- a/arch/xtensa/mm/fault.c +++ b/arch/xtensa/mm/fault.c @@ -152,7 +152,7 @@ void do_page_fault(struct pt_regs *regs) } printk("VM: killing process %s\n", current->comm); if (user_mode(regs)) - do_exit(SIGKILL); + do_group_exit(SIGKILL); bad_page_fault(regs, address, SIGKILL); return;