Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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.net


Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 4fc34901
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -2750,11 +2750,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
			functions are at fixed addresses, they make nice
			targets for exploits that can control RIP.

			emulate     Vsyscalls turn into traps and are emulated
			            reasonably safely.
			emulate     [default] Vsyscalls turn into traps and are
			            emulated reasonably safely.

			native      [default] Vsyscalls are native syscall
			            instructions.
			native      Vsyscalls are native syscall instructions.
			            This is a little bit faster than trapping
			            and makes a few dynamic recompilers work
			            better than they would in emulation mode.
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
	.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)
{