Re: [PATCH 6/6] Add 32 bit VDSO support for 32 and 64 bit kernels

From: H. Peter Anvin
Date: Tue Dec 18 2012 - 13:44:51 EST


On 12/18/2012 08:52 AM, Stefani Seibold wrote:
>
> Pardon, i never disregarded nor i have agreed that this is going to be a
> part of the VDSO. I currently have also no idea how to do this and i see
> no need at the moment to do this revamp. The 64 bit VDSO lives since
> more than 6 years with this kind of implementation.
>

It was part of this discussion thread, about how to best manage the
address space. Fixed addresses are a major problem, and introducing new
ones are extremely undesirable.

Hence I wrote:

> IMO it seems this is making it way more complicated than it is. Just
> make sure you have a section in the vdso where you can map in a data
> page with the symbols in the right offsets. Extra points for doing
> magic so that it is at the beginning or end, but I think that might
> be harder than necessary.

Basically, make the vvar and hpet pages part of the vdso page list.
Optionally they can be mapped without the MAYWRITE option -- in fact, we
could easily split the vdso into an executable area which gets MAYWRITE
to be able to set breakpoints and a data area which doesn't -- but that
is a minor tweak IMO.

> You asked me to do the VDSO 32 bit stuff for the IA32_EMULATION, before
> it is ready for inclusion into the kernel. Thats exactly what i did. I
> spend the whole weekend of my spare time to do this implementation. Now
> we have them all.
>
> The patch works perfectly, all issues are solved:
>
> - Calling conventions
> - ABI transformations
> - System call gateway for X86 32 bit
> - Mapping of the FIXMAP and HPET into the lower 32 bit address space for
> IA32_EMULATION
> - Support for 32 bit programs in 32 kernel and 64 bit kernel
> - One VDSO source for all
>
> If you prefer an other solutions, its okay. There are many ways to code
> things. But for now i think it is a good step ahead. That is what i
> currently can provide.

This is good. We have some time anyway to get this ready for the 3.9
merge window.

-hpa


--
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/