Re: [PATCH v2] x86: Remove compat vdso support

Andy Lutomirski
2014-03-12T21:45:46Z

On Wed, Mar 12, 2014 at 2:37 PM, H. Peter Anvin <hpa@linux.intel.com> wrote:
> On 03/12/2014 12:41 PM, Linus Torvalds wrote:
>>
>> So my reaction was "don't do that".
>>
>> But people pointing out that we can't do what x86-64 does made me
>> think: we could avoid the whole "nasty code for a legacy case" by
>> making it the *non*-legacy case. We could get rid of the fixmap
>> HPET/VVAR entirely - on x86-64 (which can use those addresses) a
>> PC-relative addressing is probably actually better anyway, so mapping
>> them together with the vdso code shouldn't hurt.
>>
>
> How would that deal with the legacy vsyscall case for x86-64? Just rely
> on the "legacy vsyscall emulation" (which seems to have its own class of
> problems...)?

The emulated 64-bit vsyscall is completely independent of the vdso and
any user-accessible data whatsoever -- it's just a self-contained bit
of code that runs in kernel space. There is no user-executable code
involved at all. (There is code that *looks* executable to a dynamic
recompiler, but that code consists of ordinary system calls.) As far
as I know, all of the problems with it (other than the fact that it
exists at all) were solved a couple years ago.

--Andy