aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/vdso.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2006-02-28 19:59:19 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-28 23:53:44 -0500
commit0551fbd29e16fccd46e41b7d01bf0f8f39b14212 (patch)
tree760783df743eec940d6f6cb848498580ddde03d8 /arch/powerpc/kernel/vdso.c
parentf61388822a6040ff462c5f7260daa0f1017f2db0 (diff)
[PATCH] Add mm->task_size and fix powerpc vdso
This patch adds mm->task_size to keep track of the task size of a given mm and uses that to fix the powerpc vdso so that it uses the mm task size to decide what pages to fault in instead of the current thread flags (which broke when ptracing). (akpm: I expect that mm_struct.task_size will become the way in which we finally sort out the confusion between 32-bit processes and 32-bit mm's. It may need tweaks, but at this stage this patch is powerpc-only.) Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/powerpc/kernel/vdso.c')
-rw-r--r--arch/powerpc/kernel/vdso.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index f0c47dab0903..04f7df39ffbb 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -182,8 +182,8 @@ static struct page * vdso_vma_nopage(struct vm_area_struct * vma,
182 unsigned long offset = address - vma->vm_start; 182 unsigned long offset = address - vma->vm_start;
183 struct page *pg; 183 struct page *pg;
184#ifdef CONFIG_PPC64 184#ifdef CONFIG_PPC64
185 void *vbase = test_thread_flag(TIF_32BIT) ? 185 void *vbase = (vma->vm_mm->task_size > TASK_SIZE_USER32) ?
186 vdso32_kbase : vdso64_kbase; 186 vdso64_kbase : vdso32_kbase;
187#else 187#else
188 void *vbase = vdso32_kbase; 188 void *vbase = vdso32_kbase;
189#endif 189#endif