Commit:     90cb28e8f76e57751ffe14abd09c2d53a6aea7c8
Parent:     d0abc451a685a8d8a5b05db660b06199786981b1
Author:     Linus Torvalds <[EMAIL PROTECTED]>
AuthorDate: Sat Jan 6 13:28:21 2007 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Sat Jan 6 13:28:21 2007 -0800

    Revert "[PATCH] binfmt_elf: randomize PIE binaries (2nd try)"
    This reverts commit 59287c0913cc9a6c75712a775f6c1c1ef418ef3b.
    Hugh Dickins reports that it causes random failures on x86 with SuSE
    10.2, and points out
      "Isn't that randomization, anywhere from 0x10000 to ELF_ET_DYN_BASE,
       sure to place the ET_DYN from time to time just where the comment
       says it's trying to avoid? I assume that somehow results in the error
    (where the comment in question is the existing comment in the source
    code about mmap/brk clashes).
    Suggested-by: Hugh Dickins <[EMAIL PROTECTED]>
    Acked-by: Marcus Meissner <[EMAIL PROTECTED]>
    Cc: Andrew Morton <[EMAIL PROTECTED]>
    Cc: Andi Kleen <[EMAIL PROTECTED]>
    Cc: Ingo Molnar <[EMAIL PROTECTED]>
    Cc: Dave Jones <[EMAIL PROTECTED]>
    Cc: Arjan van de Ven <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 fs/binfmt_elf.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index d3adfd3..7cb2872 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -854,13 +854,7 @@ static int load_elf_binary(struct linux_binprm *bprm, 
struct pt_regs *regs)
                         * default mmap base, as well as whatever program they
                         * might try to exec.  This is because the brk will
                         * follow the loader, and is not movable.  */
-                       if (current->flags & PF_RANDOMIZE)
-                               load_bias = randomize_range(0x10000,
-                                                           ELF_ET_DYN_BASE,
-                                                           0);
-                       else
-                               load_bias = ELF_ET_DYN_BASE;
-                       load_bias = ELF_PAGESTART(load_bias - vaddr);
+                       load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr);
                error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt,
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to