diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-05-05 15:19:32 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2014-05-05 16:18:40 -0400 |
commit | 3d7ee969bffcc984c8aeaffc6ac6816fd929ace1 (patch) | |
tree | 7f365d4f40885740ac0007d030f890ec0b69fb85 /arch/x86/vdso | |
parent | 73159fdcdb9be3eda61b846864352c29371baeb6 (diff) |
x86, vdso: Clean up 32-bit vs 64-bit vdso params
Rather than using 'vdso_enabled' and an awful #define, just call the
parameters vdso32_enabled and vdso64_enabled.
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/87913de56bdcbae3d93917938302fc369b05caee.1399317206.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/vdso')
-rw-r--r-- | arch/x86/vdso/vdso32-setup.c | 19 | ||||
-rw-r--r-- | arch/x86/vdso/vma.c | 6 |
2 files changed, 11 insertions, 14 deletions
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c index 00348980a3a6..5a657d93c6e0 100644 --- a/arch/x86/vdso/vdso32-setup.c +++ b/arch/x86/vdso/vdso32-setup.c | |||
@@ -37,7 +37,6 @@ | |||
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | #ifdef CONFIG_X86_64 | 39 | #ifdef CONFIG_X86_64 |
40 | #define vdso_enabled sysctl_vsyscall32 | ||
41 | #define arch_setup_additional_pages syscall32_setup_pages | 40 | #define arch_setup_additional_pages syscall32_setup_pages |
42 | #endif | 41 | #endif |
43 | 42 | ||
@@ -45,13 +44,13 @@ | |||
45 | * Should the kernel map a VDSO page into processes and pass its | 44 | * Should the kernel map a VDSO page into processes and pass its |
46 | * address down to glibc upon exec()? | 45 | * address down to glibc upon exec()? |
47 | */ | 46 | */ |
48 | unsigned int __read_mostly vdso_enabled = VDSO_DEFAULT; | 47 | unsigned int __read_mostly vdso32_enabled = VDSO_DEFAULT; |
49 | 48 | ||
50 | static int __init vdso_setup(char *s) | 49 | static int __init vdso32_setup(char *s) |
51 | { | 50 | { |
52 | vdso_enabled = simple_strtoul(s, NULL, 0); | 51 | vdso32_enabled = simple_strtoul(s, NULL, 0); |
53 | 52 | ||
54 | if (vdso_enabled > 1) | 53 | if (vdso32_enabled > 1) |
55 | pr_warn("vdso32 values other than 0 and 1 are no longer allowed; vdso disabled\n"); | 54 | pr_warn("vdso32 values other than 0 and 1 are no longer allowed; vdso disabled\n"); |
56 | 55 | ||
57 | return 1; | 56 | return 1; |
@@ -62,12 +61,10 @@ static int __init vdso_setup(char *s) | |||
62 | * behavior on both 64-bit and 32-bit kernels. | 61 | * behavior on both 64-bit and 32-bit kernels. |
63 | * On 32-bit kernels, vdso=[012] means the same thing. | 62 | * On 32-bit kernels, vdso=[012] means the same thing. |
64 | */ | 63 | */ |
65 | __setup("vdso32=", vdso_setup); | 64 | __setup("vdso32=", vdso32_setup); |
66 | 65 | ||
67 | #ifdef CONFIG_X86_32 | 66 | #ifdef CONFIG_X86_32 |
68 | __setup_param("vdso=", vdso32_setup, vdso_setup, 0); | 67 | __setup_param("vdso=", vdso_setup, vdso32_setup, 0); |
69 | |||
70 | EXPORT_SYMBOL_GPL(vdso_enabled); | ||
71 | #endif | 68 | #endif |
72 | 69 | ||
73 | static struct page **vdso32_pages; | 70 | static struct page **vdso32_pages; |
@@ -160,7 +157,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) | |||
160 | return x32_setup_additional_pages(bprm, uses_interp); | 157 | return x32_setup_additional_pages(bprm, uses_interp); |
161 | #endif | 158 | #endif |
162 | 159 | ||
163 | if (vdso_enabled != 1) /* Other values all mean "disabled" */ | 160 | if (vdso32_enabled != 1) /* Other values all mean "disabled" */ |
164 | return 0; | 161 | return 0; |
165 | 162 | ||
166 | down_write(&mm->mmap_sem); | 163 | down_write(&mm->mmap_sem); |
@@ -244,7 +241,7 @@ subsys_initcall(sysenter_setup); | |||
244 | static struct ctl_table abi_table2[] = { | 241 | static struct ctl_table abi_table2[] = { |
245 | { | 242 | { |
246 | .procname = "vsyscall32", | 243 | .procname = "vsyscall32", |
247 | .data = &sysctl_vsyscall32, | 244 | .data = &vdso32_enabled, |
248 | .maxlen = sizeof(int), | 245 | .maxlen = sizeof(int), |
249 | .mode = 0644, | 246 | .mode = 0644, |
250 | .proc_handler = proc_dointvec | 247 | .proc_handler = proc_dointvec |
diff --git a/arch/x86/vdso/vma.c b/arch/x86/vdso/vma.c index 1ad102613127..8b790398ed1d 100644 --- a/arch/x86/vdso/vma.c +++ b/arch/x86/vdso/vma.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <asm/page.h> | 17 | #include <asm/page.h> |
18 | 18 | ||
19 | #if defined(CONFIG_X86_64) | 19 | #if defined(CONFIG_X86_64) |
20 | unsigned int __read_mostly vdso_enabled = 1; | 20 | unsigned int __read_mostly vdso64_enabled = 1; |
21 | 21 | ||
22 | DECLARE_VDSO_IMAGE(vdso); | 22 | DECLARE_VDSO_IMAGE(vdso); |
23 | extern unsigned short vdso_sync_cpuid; | 23 | extern unsigned short vdso_sync_cpuid; |
@@ -160,7 +160,7 @@ static int setup_additional_pages(struct linux_binprm *bprm, | |||
160 | unsigned long addr; | 160 | unsigned long addr; |
161 | int ret; | 161 | int ret; |
162 | 162 | ||
163 | if (!vdso_enabled) | 163 | if (!vdso64_enabled) |
164 | return 0; | 164 | return 0; |
165 | 165 | ||
166 | down_write(&mm->mmap_sem); | 166 | down_write(&mm->mmap_sem); |
@@ -203,7 +203,7 @@ int x32_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) | |||
203 | 203 | ||
204 | static __init int vdso_setup(char *s) | 204 | static __init int vdso_setup(char *s) |
205 | { | 205 | { |
206 | vdso_enabled = simple_strtoul(s, NULL, 0); | 206 | vdso64_enabled = simple_strtoul(s, NULL, 0); |
207 | return 0; | 207 | return 0; |
208 | } | 208 | } |
209 | __setup("vdso=", vdso_setup); | 209 | __setup("vdso=", vdso_setup); |