Re: [PATCH 0/3] x86_64: Tidy up vsyscall emulation and make it optional

From: Andy Lutomirski
Date: Tue Oct 28 2014 - 14:05:10 EST


On Tue, Oct 28, 2014 at 10:46 AM, <josh@xxxxxxxxxxxxxxxx> wrote:
> On Tue, Oct 28, 2014 at 10:22:25AM -0700, Andy Lutomirski wrote:
>> Now that arch/x86/kernel/vsyscall_64.c contains only vsyscall
>> emulation code, clean it up and make it optional.
>>
>> Patch 1 makes vsyscall=none work be a bit more self-consistent: it
>> actually removes the fake vsyscall page instead of just segfaulting
>> anyone who tries to use it.
>>
>> Patch 2 is pure cosmetic cleanup.
>>
>> Patch 3 is the meat: it lets vsyscall emulation be configured out.
>> The config option to disable it is hidden under CONFIG_EXPERT, since
>> it will break legacy code.
>>
>> Note that, last I checked, current userspace is unlikely to work if
>> the vDSO *and* vsyscalls are off. Take it up with the glibc
>> maintainers.
>>
>> This applies on top of tip/x86/vdso.
>>
>> Andy Lutomirski (3):
>> x86_64,vsyscall: Turn vsyscalls all the way off when vsyscall=none
>> x86_64,vsyscall: Rewrite comment and clean up headers in vsyscall code
>> x86_64,vsyscall: Make vsyscall emulation configurable
>
> Nice!
>
> For patches 1 and 2:
> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
>
> For patch 3, I responded with a possible minor improvement, but with or
> without that:
> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
>

I think that hunk may be wrong, although oddly I can't trigger the
failure to boot that I'd expect. I'll send a v2 anyway.

> I assume these should go through tip/x86/vdso as well?

I think so.

>
> Also, any plans to do something similar for vsyscall_gtod.c?
>

I wasn't planning on it, but it could be done.

--Andy

> - Josh Triplett



--
Andy Lutomirski
AMA Capital Management, LLC
--
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/