diff options
-rw-r--r-- | arch/powerpc/include/asm/elf.h | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/vdso.c | 3 | ||||
-rw-r--r-- | arch/sh/include/asm/elf.h | 2 | ||||
-rw-r--r-- | arch/sh/kernel/vsyscall/vsyscall.c | 3 | ||||
-rw-r--r-- | arch/x86/include/asm/elf.h | 2 | ||||
-rw-r--r-- | arch/x86/vdso/vdso32-setup.c | 2 | ||||
-rw-r--r-- | arch/x86/vdso/vma.c | 2 | ||||
-rw-r--r-- | fs/binfmt_elf.c | 2 |
8 files changed, 8 insertions, 10 deletions
diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h index d812929390e4..cd46f023ec6d 100644 --- a/arch/powerpc/include/asm/elf.h +++ b/arch/powerpc/include/asm/elf.h | |||
@@ -267,7 +267,7 @@ extern int ucache_bsize; | |||
267 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES | 267 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES |
268 | struct linux_binprm; | 268 | struct linux_binprm; |
269 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | 269 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, |
270 | int executable_stack); | 270 | int uses_interp); |
271 | #define VDSO_AUX_ENT(a,b) NEW_AUX_ENT(a,b); | 271 | #define VDSO_AUX_ENT(a,b) NEW_AUX_ENT(a,b); |
272 | 272 | ||
273 | #endif /* __KERNEL__ */ | 273 | #endif /* __KERNEL__ */ |
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index 65639a43e644..f7ec7d0888fe 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; |
diff --git a/arch/sh/include/asm/elf.h b/arch/sh/include/asm/elf.h index 9eb9036a1bdc..9381397ebeb8 100644 --- a/arch/sh/include/asm/elf.h +++ b/arch/sh/include/asm/elf.h | |||
@@ -204,7 +204,7 @@ do { \ | |||
204 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES | 204 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES |
205 | struct linux_binprm; | 205 | struct linux_binprm; |
206 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | 206 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, |
207 | int executable_stack); | 207 | int uses_interp); |
208 | 208 | ||
209 | extern unsigned int vdso_enabled; | 209 | extern unsigned int vdso_enabled; |
210 | extern void __kernel_vsyscall; | 210 | extern void __kernel_vsyscall; |
diff --git a/arch/sh/kernel/vsyscall/vsyscall.c b/arch/sh/kernel/vsyscall/vsyscall.c index 95f4de0800ec..3f7e415be86a 100644 --- a/arch/sh/kernel/vsyscall/vsyscall.c +++ b/arch/sh/kernel/vsyscall/vsyscall.c | |||
@@ -59,8 +59,7 @@ int __init vsyscall_init(void) | |||
59 | } | 59 | } |
60 | 60 | ||
61 | /* Setup a VMA at program startup for the vsyscall page */ | 61 | /* Setup a VMA at program startup for the vsyscall page */ |
62 | int arch_setup_additional_pages(struct linux_binprm *bprm, | 62 | int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) |
63 | int executable_stack) | ||
64 | { | 63 | { |
65 | struct mm_struct *mm = current->mm; | 64 | struct mm_struct *mm = current->mm; |
66 | unsigned long addr; | 65 | unsigned long addr; |
diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h index 40ca1bea7916..f51a3ddde01a 100644 --- a/arch/x86/include/asm/elf.h +++ b/arch/x86/include/asm/elf.h | |||
@@ -325,7 +325,7 @@ struct linux_binprm; | |||
325 | 325 | ||
326 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1 | 326 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1 |
327 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | 327 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, |
328 | int executable_stack); | 328 | int uses_interp); |
329 | 329 | ||
330 | extern int syscall32_setup_pages(struct linux_binprm *, int exstack); | 330 | extern int syscall32_setup_pages(struct linux_binprm *, int exstack); |
331 | #define compat_arch_setup_additional_pages syscall32_setup_pages | 331 | #define compat_arch_setup_additional_pages syscall32_setup_pages |
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c index 513f330c5832..1241f118ab56 100644 --- a/arch/x86/vdso/vdso32-setup.c +++ b/arch/x86/vdso/vdso32-setup.c | |||
@@ -310,7 +310,7 @@ int __init sysenter_setup(void) | |||
310 | } | 310 | } |
311 | 311 | ||
312 | /* Setup a VMA at program startup for the vsyscall page */ | 312 | /* Setup a VMA at program startup for the vsyscall page */ |
313 | int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack) | 313 | int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) |
314 | { | 314 | { |
315 | struct mm_struct *mm = current->mm; | 315 | struct mm_struct *mm = current->mm; |
316 | unsigned long addr; | 316 | unsigned long addr; |
diff --git a/arch/x86/vdso/vma.c b/arch/x86/vdso/vma.c index 257ba4a10abf..9c98cc6ba978 100644 --- a/arch/x86/vdso/vma.c +++ b/arch/x86/vdso/vma.c | |||
@@ -98,7 +98,7 @@ static unsigned long vdso_addr(unsigned long start, unsigned len) | |||
98 | 98 | ||
99 | /* Setup a VMA at program startup for the vsyscall page. | 99 | /* Setup a VMA at program startup for the vsyscall page. |
100 | Not called for compat tasks */ | 100 | Not called for compat tasks */ |
101 | int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack) | 101 | int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) |
102 | { | 102 | { |
103 | struct mm_struct *mm = current->mm; | 103 | struct mm_struct *mm = current->mm; |
104 | unsigned long addr; | 104 | unsigned long addr; |
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 8fcfa398d350..95a76ff9e01b 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c | |||
@@ -949,7 +949,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) | |||
949 | set_binfmt(&elf_format); | 949 | set_binfmt(&elf_format); |
950 | 950 | ||
951 | #ifdef ARCH_HAS_SETUP_ADDITIONAL_PAGES | 951 | #ifdef ARCH_HAS_SETUP_ADDITIONAL_PAGES |
952 | retval = arch_setup_additional_pages(bprm, executable_stack); | 952 | retval = arch_setup_additional_pages(bprm, !!elf_interpreter); |
953 | if (retval < 0) { | 953 | if (retval < 0) { |
954 | send_sig(SIGKILL, current, 0); | 954 | send_sig(SIGKILL, current, 0); |
955 | goto out; | 955 | goto out; |