Skip to content

Commit

Permalink
Merge tag 'x86_vdso_for_v5.19_rc1' of git://git.kernel.org/pub/scm/li…
Browse files Browse the repository at this point in the history
…nux/kernel/git/tip/tip

Pull x86 vdso update from Borislav Petkov:

 - Get rid of CONFIG_LEGACY_VSYSCALL_EMULATE as nothing should be using
   it anymore

* tag 'x86_vdso_for_v5.19_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/vsyscall: Remove CONFIG_LEGACY_VSYSCALL_EMULATE
  • Loading branch information
torvalds committed May 24, 2022
2 parents 88699f8 + bf00745 commit d6ecaa0
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 16 deletions.
18 changes: 3 additions & 15 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2330,28 +2330,16 @@ choice
it can be used to assist security vulnerability exploitation.

This setting can be changed at boot time via the kernel command
line parameter vsyscall=[emulate|xonly|none].
line parameter vsyscall=[emulate|xonly|none]. Emulate mode
is deprecated and can only be enabled using the kernel command
line.

On a system with recent enough glibc (2.14 or newer) and no
static binaries, you can say None without a performance penalty
to improve security.

If unsure, select "Emulate execution only".

config LEGACY_VSYSCALL_EMULATE
bool "Full emulation"
help
The kernel traps and emulates calls into the fixed vsyscall
address mapping. This makes the mapping non-executable, but
it still contains readable known contents, which could be
used in certain rare security vulnerability exploits. This
configuration is recommended when using legacy userspace
that still uses vsyscalls along with legacy binary
instrumentation tools that require code to be readable.

An example of this type of legacy userspace is running
Pin on an old binary that still uses vsyscalls.

config LEGACY_VSYSCALL_XONLY
bool "Emulate execution only"
help
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/entry/vsyscall/vsyscall_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ static enum { EMULATE, XONLY, NONE } vsyscall_mode __ro_after_init =
#elif defined(CONFIG_LEGACY_VSYSCALL_XONLY)
XONLY;
#else
EMULATE;
#error VSYSCALL config is broken
#endif

static int __init vsyscall_setup(char *str)
Expand Down

0 comments on commit d6ecaa0

Please sign in to comment.