diff options
Diffstat (limited to 'arch/powerpc/kernel/vdso.c')
-rw-r--r-- | arch/powerpc/kernel/vdso.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index 65639a43e644..ad06d5c75b15 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c | |||
@@ -184,8 +184,7 @@ static void dump_vdso_pages(struct vm_area_struct * vma) | |||
184 | * This is called from binfmt_elf, we create the special vma for the | 184 | * This is called from binfmt_elf, we create the special vma for the |
185 | * vDSO and insert it into the mm struct tree | 185 | * vDSO and insert it into the mm struct tree |
186 | */ | 186 | */ |
187 | int arch_setup_additional_pages(struct linux_binprm *bprm, | 187 | int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) |
188 | int executable_stack) | ||
189 | { | 188 | { |
190 | struct mm_struct *mm = current->mm; | 189 | struct mm_struct *mm = current->mm; |
191 | struct page **vdso_pagelist; | 190 | struct page **vdso_pagelist; |
@@ -567,6 +566,11 @@ static __init int vdso_fixup_features(struct lib32_elfinfo *v32, | |||
567 | do_feature_fixups(cur_cpu_spec->cpu_features, | 566 | do_feature_fixups(cur_cpu_spec->cpu_features, |
568 | start64, start64 + size64); | 567 | start64, start64 + size64); |
569 | 568 | ||
569 | start64 = find_section64(v64->hdr, "__mmu_ftr_fixup", &size64); | ||
570 | if (start64) | ||
571 | do_feature_fixups(cur_cpu_spec->mmu_features, | ||
572 | start64, start64 + size64); | ||
573 | |||
570 | start64 = find_section64(v64->hdr, "__fw_ftr_fixup", &size64); | 574 | start64 = find_section64(v64->hdr, "__fw_ftr_fixup", &size64); |
571 | if (start64) | 575 | if (start64) |
572 | do_feature_fixups(powerpc_firmware_features, | 576 | do_feature_fixups(powerpc_firmware_features, |
@@ -583,6 +587,11 @@ static __init int vdso_fixup_features(struct lib32_elfinfo *v32, | |||
583 | do_feature_fixups(cur_cpu_spec->cpu_features, | 587 | do_feature_fixups(cur_cpu_spec->cpu_features, |
584 | start32, start32 + size32); | 588 | start32, start32 + size32); |
585 | 589 | ||
590 | start32 = find_section32(v32->hdr, "__mmu_ftr_fixup", &size32); | ||
591 | if (start32) | ||
592 | do_feature_fixups(cur_cpu_spec->mmu_features, | ||
593 | start32, start32 + size32); | ||
594 | |||
586 | #ifdef CONFIG_PPC64 | 595 | #ifdef CONFIG_PPC64 |
587 | start32 = find_section32(v32->hdr, "__fw_ftr_fixup", &size32); | 596 | start32 = find_section32(v32->hdr, "__fw_ftr_fixup", &size32); |
588 | if (start32) | 597 | if (start32) |