lkml.org 
[lkml]   [2011]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] binfmt_elf: Fix PIE execution with randomization disabled
On Thu, 29 Sep 2011, Josh Boyer wrote:

> Perhaps another check here for randomize? Something like:
>
> #if defined(CONFIG_X86) || defined(CONFIG_ARM)
> if (current->flags & PF_RANDOMIZE)
> load_bias = 0;
> else if (vaddr)
> load_bias = 0;
> else
> load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE);
> #else
> load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr);
> #endif
>
> If that's stupid, then feel free to tell me. I won't pretend like I
> understand what is going on here yet, but based on the explanation you
> provided that might work.

I have just verified my hunch that the original patch from H.J. / Josh
breaks ASLR completely, so Andrew, please drop it for now.

I am now looking into how to fix things properly.

Josh, looking at what you are proposing -- do you see any reason to make
the behavior different in #else branch and in !(current->flags &
PF_RANDOMIZE) case?
--
Jiri Kosina
SUSE Labs


\
 
 \ /
  Last update: 2011-10-03 16:55    [from the cache]
©2003-2011 Jasper Spaans