Commit 2e57ae05 authored by Andy Lutomirski's avatar Andy Lutomirski Committed by Ingo Molnar

x86: Default to vsyscall=emulate

This essentially reverts:

  2b666859: x86: Default to vsyscall=native for now

The ABI breakage should now be fixed by:

 commit 48c4206f5b02f28c4c78a1f5b491d3772fb64fb9
 Author: Andy Lutomirski <luto@mit.edu>
 Date:   Thu Oct 20 08:48:19 2011 -0700

    x86-64: Set siginfo and context on vsyscall emulation faults
Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
Cc: richard -rw- weinberger <richard.weinberger@gmail.com>
Cc: Adrian Bunk <bunk@stusta.de>
Cc: H. Peter Anvin <hpa@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/93154af3b2b6d208906ae02d80d92cf60c6fa94f.1320712291.git.luto@amacapital.netSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 4fc34901
...@@ -2750,11 +2750,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. ...@@ -2750,11 +2750,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
functions are at fixed addresses, they make nice functions are at fixed addresses, they make nice
targets for exploits that can control RIP. targets for exploits that can control RIP.
emulate Vsyscalls turn into traps and are emulated emulate [default] Vsyscalls turn into traps and are
reasonably safely. emulated reasonably safely.
native [default] Vsyscalls are native syscall native Vsyscalls are native syscall instructions.
instructions.
This is a little bit faster than trapping This is a little bit faster than trapping
and makes a few dynamic recompilers work and makes a few dynamic recompilers work
better than they would in emulation mode. better than they would in emulation mode.
......
...@@ -57,7 +57,7 @@ DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) = ...@@ -57,7 +57,7 @@ DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
.lock = __SEQLOCK_UNLOCKED(__vsyscall_gtod_data.lock), .lock = __SEQLOCK_UNLOCKED(__vsyscall_gtod_data.lock),
}; };
static enum { EMULATE, NATIVE, NONE } vsyscall_mode = NATIVE; static enum { EMULATE, NATIVE, NONE } vsyscall_mode = EMULATE;
static int __init vsyscall_setup(char *str) static int __init vsyscall_setup(char *str)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment