Messages in this thread | | | Date | Thu, 13 Dec 2012 17:32:20 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] Add VDSO time function support for x86 32-bit kernel |
| |
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.
| |