Re: serious performance regression due to NX patch

David Mosberger
2004-07-17T00:06:10Z

>>>>> On Tue, 13 Jul 2004 09:05:29 -0700, Mark Haverkamp <markh@osdl.org> 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