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/