[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45FAF222.9070900@vmware.com>
Date: Fri, 16 Mar 2007 11:38:10 -0800
From: Zachary Amsden <zach@...are.com>
To: "Eric W. Biederman" <ebiederm@...ssion.com>
CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...e.hu>, Jan Beulich <jbeulich@...ell.com>,
Rusty Russell <rusty@...tcorp.com.au>,
Jeremy Fitzhardinge <jeremy@...p.org>, Andi Kleen <ak@...e.de>,
Chris Wright <chrisw@...s-sol.org>,
Andrew Morton <akpm@...l.org>,
Linus Torvalds <torvalds@...l.org>,
Virtualization Mailing List <virtualization@...ts.osdl.org>
Subject: Re: [RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
Eric W. Biederman wrote:
> I'm not quite familiar with the context. And I'm to lazy to look right now.
> What is the difference with COMPAT_VDSO that it doesn't do relocation?
> What are we preserving?
>
COMPAT_VDSO causes the link address to be fixed at compile time to match
the virtual address of the VDSO. !COMPAT_VDSO just links at zero.
> The practical question here is if we already have all of the relocation logic
> for the VDSO why do we need to add more?
>
There wasn't relocation logic before, the VDSO just got remapped to a
different virtual address without any relocation at all. Which is safe,
because it is all hand-coded assembly, relocatable code. But not
complete, since the ELF headers don't have any fixup applied for the
relocation, and there are broken linkers which look at the ELF headers
and assert fail if ph->p_vaddr != _rtld_local._dl_sysinfo_dso; these
broken dynamic linkers are what COMPAT_VDSO is protecting.
> I'm tempted to rant on the pure insanity of address space randomization but
> that is a whole other issue...
>
Firesticks in ant nests is all I'm saying about that.
Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists