[S390] vdso: kernel parameter syntax
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 12 Jun 2009 08:26:20 +0000 (10:26 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 12 Jun 2009 08:27:28 +0000 (10:27 +0200)
The syntax of the vdso kernel parameter is documented as vdso=[on|off].
The implementation uses vdso=[0|1], an invalid parameter string disables
the vdso support. Fix the mismatch by adding vdso=[on|off] as additional
parameter syntax.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/vdso.c

index 89b2e7f..7b76ee4 100644 (file)
@@ -53,8 +53,19 @@ unsigned int __read_mostly vdso_enabled = 1;
 
 static int __init vdso_setup(char *s)
 {
-       vdso_enabled = simple_strtoul(s, NULL, 0);
-       return 1;
+       unsigned long val;
+       int rc;
+
+       rc = 0;
+       if (strncmp(s, "on", 3) == 0)
+               vdso_enabled = 1;
+       else if (strncmp(s, "off", 4) == 0)
+               vdso_enabled = 0;
+       else {
+               rc = strict_strtoul(s, 0, &val);
+               vdso_enabled = rc ? 0 : !!val;
+       }
+       return !rc;
 }
 __setup("vdso=", vdso_setup);