Home
last modified time | relevance | path

Searched hist:"5790921 bc18b1eb5c0c61371e31114fd4c4b0154" (Results 1 – 2 of 2) sorted by relevance

/openbmc/linux/tools/arch/x86/lib/
H A Dx86-opcode-map.txtdiff 5790921bc18b1eb5c0c61371e31114fd4c4b0154 Tue Feb 04 11:14:24 CST 2020 Yu-cheng Yu <yu-cheng.yu@intel.com> 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>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Link: https://lkml.kernel.org/r/20200204171425.28073-2-yu-cheng.yu@intel.com
/openbmc/linux/arch/x86/lib/
H A Dx86-opcode-map.txtdiff 5790921bc18b1eb5c0c61371e31114fd4c4b0154 Tue Feb 04 11:14:24 CST 2020 Yu-cheng Yu <yu-cheng.yu@intel.com> 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>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Link: https://lkml.kernel.org/r/20200204171425.28073-2-yu-cheng.yu@intel.com