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 Mon, Oct 03, 2011 at 04:53:34PM +0200, Jiri Kosina wrote:
> 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.

Yes, please drop the original.

> 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?

I was mostly just trying to adapt H.J.'s patch to account for the
PF_RANDOMIZE case. Looking at it a bit more, I'm not sure why they
would need to be different. H.J., do you recall why you made that
change originally?

josh


\
 
 \ /
  Last update: 2011-10-03 17:07    [W:0.460 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site