summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-08-12 09:03:26 +0200
committerPaul Mackerras <paulus@samba.org>2008-08-18 06:22:34 +0200
commit3fadc52b2c9171b138b93f4a0121ceba67241b3b (patch)
tree24512228e7afbf4c8fcdce6be9175f9655249ffc
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/coo... (diff)
downloadlinux-3fadc52b2c9171b138b93f4a0121ceba67241b3b.tar.xz
linux-3fadc52b2c9171b138b93f4a0121ceba67241b3b.zip
powerpc: Fix loss of vdso on fork on 32-bit
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@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/include/asm/mmu_context.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h
index 9102b8bf0ead..6b993ef452ff 100644
--- a/arch/powerpc/include/asm/mmu_context.h
+++ b/arch/powerpc/include/asm/mmu_context.h
@@ -147,7 +147,6 @@ static inline void get_mmu_context(struct mm_struct *mm)
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;
}