Re: brk randomization breaks columns

From: Ingo Molnar
Date: Mon Feb 04 2008 - 08:02:20 EST



* Pavel Machek <pavel@xxxxxx> 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
--
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/