Re: [PATCH] Add VDSO time function support for x86 32-bit kernel

From: H. Peter Anvin
Date: Thu Dec 13 2012 - 20:32:40 EST


On 12/13/2012 04:20 PM, Andy Lutomirski wrote:

What you could do is probably arrange (using some linker script magic)
for a symbol to exist that points at the page *before* the vdso
starts. Then just map the vvar page there when starting a compat
task. You could then address it using a normal symbol reference by
tweaking the vvar macro. (I think this'll access it via the GOT.)
Alternatively, you could just pick an absolute address -- the page is
NX, so you don't really need to worry about randomization.


The best would probably if we could generate GOTOFF references rather than GOT, which again probably means making the vvar page part of the vdso proper. Then, when building the list of vdso pages, we need to substitute in the vvar page in the proper place.

I have to admit to kind of thinking this might work well even for the 64-bit/x32 case, and perhaps even for native 32 bits.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

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