[PATCH] powerpc: Fix loss of vdso on fork on 32bit

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Aug 12 17:03:26 EST 2008


When we fork, init_new_context() improperly resets the vdso_base
of the new context to 0. That means that the new process loses
access to the vdso for signal trampolines.

The initialization should be unnecessary anyway as the context
on a fresh mm should be 0 in the first place and binfmt_elf
will initialize that value for a newly loaded process.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

 arch/powerpc/include/asm/mmu_context.h |    1 -
 1 file changed, 1 deletion(-)

--- linux-work.orig/arch/powerpc/include/asm/mmu_context.h	2008-08-12 17:01:06.000000000 +1000
+++ linux-work/arch/powerpc/include/asm/mmu_context.h	2008-08-12 17:01:08.000000000 +1000
@@ -147,7 +147,6 @@ static inline void get_mmu_context(struc
 static inline int init_new_context(struct task_struct *t, struct mm_struct *mm)
 {
 	mm->context.id = NO_CONTEXT;
-	mm->context.vdso_base = 0;
 	return 0;
 }
 



More information about the Linuxppc-dev mailing list