linux-stable/arch
Yu-cheng Yu 315a4af8cd x86/insn: Add Control-flow Enforcement (CET) instructions to the opcode map
Add the following CET instructions to the opcode map:

  INCSSP:
      Increment Shadow Stack pointer (SSP).

  RDSSP:
      Read SSP into a GPR.

  SAVEPREVSSP:
      Use "previous ssp" token at top of current Shadow Stack (SHSTK) to
      create a "restore token" on the previous (outgoing) SHSTK.

  RSTORSSP:
      Restore from a "restore token" to SSP.

  WRSS:
      Write to kernel-mode SHSTK (kernel-mode instruction).

  WRUSS:
      Write to user-mode SHSTK (kernel-mode instruction).

  SETSSBSY:
      Verify the "supervisor token" pointed by MSR_IA32_PL0_SSP, set the
      token busy, and set then Shadow Stack pointer(SSP) to the value of
      MSR_IA32_PL0_SSP.

  CLRSSBSY:
      Verify the "supervisor token" and clear its busy bit.

  ENDBR64/ENDBR32:
      Mark a valid 64/32 bit control transfer endpoint.

Detailed information of CET instructions can be found in Intel Software
Developer's Manual.

Signed-off-by: Yu-cheng Yu <yu-cheng.yu@intel.com>
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi v. Shankar <ravi.v.shankar@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: x86@kernel.org
Link: http://lore.kernel.org/lkml/20200204171425.28073-2-yu-cheng.yu@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-03-27 10:38:46 -03:00
..
alpha
arc ARC: define __ALIGN_STR and __ALIGN symbols for ARC 2020-03-11 10:07:15 -07:00
arm ARM fixes for 5.6: 2020-03-16 15:39:52 -07:00
arm64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-12 16:19:19 -07:00
c6x
csky
h8300
hexagon
ia64
m68k
microblaze
mips MIPS: DTS: CI20: fix interrupt for pcf8563 RTC 2020-03-07 09:54:24 +01:00
nds32
nios2
openrisc
parisc
powerpc Merge branch 'perf/urgent' into perf/core, to pick up fixes 2020-03-19 15:01:45 +01:00
riscv riscv: fix seccomp reject syscall code path 2020-03-05 13:58:15 -08:00
s390 Bugfixes, x86+s390. 2020-03-14 15:45:26 -07:00
sh
sparc
um
unicore32
x86 x86/insn: Add Control-flow Enforcement (CET) instructions to the opcode map 2020-03-27 10:38:46 -03:00
xtensa
.gitignore
Kconfig arch/Kconfig: update HAVE_RELIABLE_STACKTRACE description 2020-03-06 07:06:09 -06:00