diff options
author | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 20:55:21 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 20:55:21 -0400 |
commit | bbb20089a3275a19e475dbc21320c3742e3ca423 (patch) | |
tree | 216fdc1cbef450ca688135c5b8969169482d9a48 /arch/s390/kernel/vdso.c | |
parent | 3e48e656903e9fd8bc805c6a2c4264d7808d315b (diff) | |
parent | 657a77fa7284d8ae28dfa48f1dc5d919bf5b2843 (diff) |
Merge branch 'dmaengine' into async-tx-next
Conflicts:
crypto/async_tx/async_xor.c
drivers/dma/ioat/dma_v2.h
drivers/dma/ioat/pci.c
drivers/md/raid5.c
Diffstat (limited to 'arch/s390/kernel/vdso.c')
-rw-r--r-- | arch/s390/kernel/vdso.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c index 89b2e7f1b7a9..45e1708b70fd 100644 --- a/arch/s390/kernel/vdso.c +++ b/arch/s390/kernel/vdso.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/elf.h> | 22 | #include <linux/elf.h> |
23 | #include <linux/security.h> | 23 | #include <linux/security.h> |
24 | #include <linux/bootmem.h> | 24 | #include <linux/bootmem.h> |
25 | 25 | #include <linux/compat.h> | |
26 | #include <asm/pgtable.h> | 26 | #include <asm/pgtable.h> |
27 | #include <asm/system.h> | 27 | #include <asm/system.h> |
28 | #include <asm/processor.h> | 28 | #include <asm/processor.h> |
@@ -53,8 +53,19 @@ unsigned int __read_mostly vdso_enabled = 1; | |||
53 | 53 | ||
54 | static int __init vdso_setup(char *s) | 54 | static int __init vdso_setup(char *s) |
55 | { | 55 | { |
56 | vdso_enabled = simple_strtoul(s, NULL, 0); | 56 | unsigned long val; |
57 | return 1; | 57 | int rc; |
58 | |||
59 | rc = 0; | ||
60 | if (strncmp(s, "on", 3) == 0) | ||
61 | vdso_enabled = 1; | ||
62 | else if (strncmp(s, "off", 4) == 0) | ||
63 | vdso_enabled = 0; | ||
64 | else { | ||
65 | rc = strict_strtoul(s, 0, &val); | ||
66 | vdso_enabled = rc ? 0 : !!val; | ||
67 | } | ||
68 | return !rc; | ||
58 | } | 69 | } |
59 | __setup("vdso=", vdso_setup); | 70 | __setup("vdso=", vdso_setup); |
60 | 71 | ||
@@ -203,7 +214,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) | |||
203 | vdso_pagelist = vdso64_pagelist; | 214 | vdso_pagelist = vdso64_pagelist; |
204 | vdso_pages = vdso64_pages; | 215 | vdso_pages = vdso64_pages; |
205 | #ifdef CONFIG_COMPAT | 216 | #ifdef CONFIG_COMPAT |
206 | if (test_thread_flag(TIF_31BIT)) { | 217 | if (is_compat_task()) { |
207 | vdso_pagelist = vdso32_pagelist; | 218 | vdso_pagelist = vdso32_pagelist; |
208 | vdso_pages = vdso32_pages; | 219 | vdso_pages = vdso32_pages; |
209 | } | 220 | } |