On 03/09/2014 09:46 PM, Andy Lutomirski wrote:
> On Sun, Mar 9, 2014 at 8:18 PM, Andy Lutomirski <l...@amacapital.net> wrote:
>> (Of course, I haven't the faintest idea what l_addr in glibc means.
>> If there was a way to arrange for l_addr to be zero, then maybe none
>> of this would matter.  Hmm, I wonder if just not relocating the vdso
>> at all would have the desired effect.  Anyone out there understand
>> glibc?)
> 
> No, that won't work.  The bug is that glibc expects PT_DYNAMIC's vaddr
> to be the virtual address of the dynamic table.  This can only be true
> if the vdso is mapped at the address that the kernel relocated it to.
> 
> I also learned that glibc's code is really hideous.  Wow.
> 

At the same time it does mean we have more flexibility than having a
hard-coded address... we can at least allocate more than one page in the
fixmap; for a really "full service" solution the kernel could adjust the
vdso for whatever address the "fixmap" is at.

I have mentioned in the past wanting to move the fixmap to the low part
of the kernel space, because the top isn't really fixed...

        -hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to