Messages in this thread | | | Date | Mon, 4 Feb 2008 14:01:56 +0100 | From | Ingo Molnar <> | Subject | Re: brk randomization breaks columns |
| |
* Pavel Machek <pavel@ucw.cz> wrote:
> Hmm, code in binfmt_elf is really strange. > > elf_bss += load_bias; > elf_brk += load_bias; > start_code += load_bias; > end_code += load_bias; > start_data += load_bias; > end_data += load_bias; > > /* Calling set_brk effectively mmaps the pages that we need > * for the bss and break sections. We must do this before > * mapping in the interpreter, to make sure it doesn't wind > * up getting placed where the bss needs to go. > */ > retval = set_brk(elf_bss, elf_brk); > > ... so we allocate non-randoimzed brk, but later we just overwrite bss > variable with new, shiner and better randomized value... without > unmapping the old one... The code in binfmt_elf.c is really a mess.
hm, so it seems that it isnt even the randomization that causes the problem - but somehow the randomization code itself is broken, right?
Would you be interested in figuring out how to unbreak this? [if not, could you send me the binary?]
Ingo
| |