]> git.baikalelectronics.ru Git - kernel.git/commit
x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space
authorAndy Lutomirski <luto@kernel.org>
Mon, 3 Sep 2018 22:59:43 +0000 (15:59 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 8 Sep 2018 09:20:11 +0000 (11:20 +0200)
commit33a794e574f21362c37e04f48dc2cc70247a6bab
treee116b364861f976467534b78bbce1771abdebf54
parent504b33e6982f85e282265cbcb1157e7b1c6d5e8a
x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space

In the non-trampoline SYSCALL64 path, a percpu variable is used to
temporarily store the user RSP value.

Instead of a separate variable, use the otherwise unused sp2 slot in the
TSS.  This will improve cache locality, as the sp1 slot is already used in
the same code to find the kernel stack.  It will also simplify a future
change to make the non-trampoline path work in PTI mode.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/08e769a0023dbad4bac6f34f3631dbaf8ad59f4f.1536015544.git.luto@kernel.org
arch/x86/entry/entry_64.S
arch/x86/include/asm/processor.h
arch/x86/kernel/asm-offsets.c
arch/x86/kernel/process_64.c
arch/x86/xen/xen-asm_64.S