-/* noexec32=opt{,opt}
-
-Control the no exec default for 32bit processes. Can be also overwritten
-per executable using ELF header flags (e.g. needed for the X server)
-Requires noexec=on or noexec=noforce to be effective.
-
-Valid options:
- all,on Heap,stack,data is non executable.
- off (default) Heap,stack,data is executable
- stack Stack is non executable, heap/data is.
- force Don't imply PROT_EXEC for PROT_READ
- compat (default) Imply PROT_EXEC for PROT_READ
-
-*/
- 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);
-