diff options
Diffstat (limited to 'arch/powerpc/kernel/vdso.c')
-rw-r--r-- | arch/powerpc/kernel/vdso.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index 0d4d8bec0df4..f0c47dab0903 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c | |||
@@ -145,8 +145,7 @@ static void dump_vdso_pages(struct vm_area_struct * vma) | |||
145 | struct page *pg = virt_to_page(vdso32_kbase + | 145 | struct page *pg = virt_to_page(vdso32_kbase + |
146 | i*PAGE_SIZE); | 146 | i*PAGE_SIZE); |
147 | struct page *upg = (vma && vma->vm_mm) ? | 147 | struct page *upg = (vma && vma->vm_mm) ? |
148 | follow_page(vma->vm_mm, vma->vm_start + | 148 | follow_page(vma, vma->vm_start + i*PAGE_SIZE, 0) |
149 | i*PAGE_SIZE, 0) | ||
150 | : NULL; | 149 | : NULL; |
151 | dump_one_vdso_page(pg, upg); | 150 | dump_one_vdso_page(pg, upg); |
152 | } | 151 | } |
@@ -157,8 +156,7 @@ static void dump_vdso_pages(struct vm_area_struct * vma) | |||
157 | struct page *pg = virt_to_page(vdso64_kbase + | 156 | struct page *pg = virt_to_page(vdso64_kbase + |
158 | i*PAGE_SIZE); | 157 | i*PAGE_SIZE); |
159 | struct page *upg = (vma && vma->vm_mm) ? | 158 | struct page *upg = (vma && vma->vm_mm) ? |
160 | follow_page(vma->vm_mm, vma->vm_start + | 159 | follow_page(vma, vma->vm_start + i*PAGE_SIZE, 0) |
161 | i*PAGE_SIZE, 0) | ||
162 | : NULL; | 160 | : NULL; |
163 | dump_one_vdso_page(pg, upg); | 161 | dump_one_vdso_page(pg, upg); |
164 | } | 162 | } |
@@ -285,8 +283,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, | |||
285 | * It's fine to use that for setting breakpoints in the vDSO code | 283 | * It's fine to use that for setting breakpoints in the vDSO code |
286 | * pages though | 284 | * pages though |
287 | */ | 285 | */ |
288 | vma->vm_flags = VM_READ | VM_EXEC | VM_MAYREAD | VM_MAYWRITE | | 286 | vma->vm_flags = VM_READ | VM_EXEC | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC; |
289 | VM_MAYEXEC | VM_RESERVED; | ||
290 | vma->vm_flags |= mm->def_flags; | 287 | vma->vm_flags |= mm->def_flags; |
291 | vma->vm_page_prot = protection_map[vma->vm_flags & 0x7]; | 288 | vma->vm_page_prot = protection_map[vma->vm_flags & 0x7]; |
292 | vma->vm_ops = &vdso_vmops; | 289 | vma->vm_ops = &vdso_vmops; |