Re: serious performance regression due to NX patch

From: Ingo Molnar
Date: Sun Jul 11 2004 - 04:57:19 EST



On Sun, 11 Jul 2004, Ingo Molnar wrote:

> > ok, agreed. I'll check that it still does the right thing on x86.
>
> it doesnt seem to do the right thing for !PT_GNU_STACK applications on
> x86:

how about the patch below? This way we recognize the fact that x86 didnt
have any executability check previously at the point where we discover
that it's a 'legacy' binary.

Ingo

--- linux/fs/binfmt_elf.c.orig3
+++ linux/fs/binfmt_elf.c
@@ -627,8 +627,14 @@ static int load_elf_binary(struct linux_
executable_stack = EXSTACK_DISABLE_X;
break;
}
+#ifdef __i386_
+ /*
+ * Legacy x86 binaries have an expectation of executability for
+ * virtually all their address-space - turn executability on:
+ */
if (i == elf_ex.e_phnum)
def_flags |= VM_EXEC | VM_MAYEXEC;
+#endif

/* Some simple consistency checks for the interpreter */
if (elf_interpreter) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/