- static int __init nonx32_setup(char *str)
- {
- char *s;
- while ((s = strsep(&str, ",")) != NULL) {
- if (!strcmp(s, "all") || !strcmp(s,"on")) {
- vm_data_default_flags32 &= ~VM_EXEC;
- vm_stack_flags32 &= ~VM_EXEC;
- } else if (!strcmp(s, "off")) {
- vm_data_default_flags32 |= VM_EXEC;
- vm_stack_flags32 |= VM_EXEC;
- } else if (!strcmp(s, "stack")) {
- vm_data_default_flags32 |= VM_EXEC;
- vm_stack_flags32 &= ~VM_EXEC;
- } else if (!strcmp(s, "force")) {
- vm_force_exec32 = 0;
- } else if (!strcmp(s, "compat")) {
- vm_force_exec32 = PROT_EXEC;
- }
- }
- return 1;
-}
-
-__setup("noexec32=", nonx32_setup);
+static int __init nonx32_setup(char *str)
+{
+ if (!strcmp(str, "on"))
+ force_personality32 &= ~READ_IMPLIES_EXEC;
+ else if (!strcmp(str, "off"))
+ force_personality32 |= READ_IMPLIES_EXEC;
+ return 1;
+}
+__setup("noexec32=", nonx32_setup);