ppc64 vDSO in mainline

Benjamin Herrenschmidt benh@kernel.crashing.org
Fri Mar 25 22:45:00 GMT 2005


> 
> Another way to elliminate .rela.dyn relocations is to build the vdso for a 
> absolute address. I see no value in randomizing the load address of the 
> vdso. The functions we are dicussing (so far) are syscall replacements and 
> offer no more exposure than existing syscalls. If the vdso is linked for a 
> specific address the linker performs all local relocations (no .rela.dyn 
> entries).
> 
> But if we really need to randomize the vdso load address the kernel can 
> relocate a fixed number of the vdso images and ramdomly pick one for each 
> process.

Ok, but there was another reason in the back of my mind for wanting to
keep the vDSO virtual address flexible: The current choice of the map
address for it was done rather arbitrarily (+1Mb). It appears that
pretty much nobody uses that space currently. However, it removes some
flexibility from userland programs over the layout of their address
space (things like emulators etc... may want greater control). So I had
in mind the possibility in the future of defining some sort of ELF
program header enter that would force the kernel to map the vDSO at a
different address for a given binary.

Ben.




More information about the Libc-alpha mailing list