Re: Potential bug in fs/binfmt_elf.c?

John Reiser
2004-03-08T05:58:58Z

>> LOAD 0x001000 0x00400000 0x00400000 0x00000 0x10000000 R 0x1000
>
>
> What is the purpose of allocating 256MB of read-only zeros?

To prevent the kernel from placing any shared libraries there [via mmap()
from ld-linux.so.2], especially under the influence of exec-shield.
This is 'wine', which wants to reserve that address space for mapping
executables that were built for some other operating system. For this
purpose, the .p_flags of PF_R instead could be 0 [==> PROT_NONE]; but
do_brk() still turns either one into 'prw.' which has potential memory
[over-]commit charges. The expected 'pr--' [or 'p---'] should have
a memory commit cost of zero.

--