Messages in this thread | | | From | Andy Lutomirski <> | Subject | [PATCH v2 0/3] x86_64: Tidy up vsyscall emulation and make it optional | Date | Wed, 29 Oct 2014 14:33:44 -0700 |
| |
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.
Changes from v1: - Added Josh's Reviewed-by - Fixup up Xen bits in patch 3
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
arch/x86/Kconfig | 18 ++++++++++++ arch/x86/include/asm/fixmap.h | 2 ++ arch/x86/include/asm/page_64.h | 4 ++- arch/x86/include/asm/vsyscall.h | 8 +++++ arch/x86/kernel/Makefile | 3 +- arch/x86/kernel/setup.c | 2 -- arch/x86/kernel/vsyscall_64.c | 65 +++++++++++++++++------------------------ arch/x86/xen/mmu.c | 6 ++-- 8 files changed, 63 insertions(+), 45 deletions(-)
-- 1.9.3
| |