Re: serious performance regression due to NX patch

From: David Mosberger
Date: Fri Jul 16 2004 - 19:08:32 EST


>>>>> On Tue, 13 Jul 2004 09:05:29 -0700, Mark Haverkamp <markh@xxxxxxxx> said:

Mark> I think that there is a problem with this piece of code in
Mark> binfmt_elf.c:

Mark> if (i == elf_ex.e_phnum)
Mark> def_flags |= VM_EXEC | VM_MAYEXEC;

I think there are other problems, too:

- any fork() will reset mm->def_flags to zero so if you exec
an old binary and it does a fork, future mmaps() won't
have the execute-bit turned on any more; perhaps a rare problem,
but it certainly seems an illogical behavior

- likewise for do_mlockall(): it stomps on def_flags without preserving
the old bits

Am I missing something?

--david
-
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/