Files
xen/docs
Andrew Cooper b60ab42db2 x86/shstk: Activate Supervisor Shadow Stacks
With all other plumbing in place, activate shadow stacks when possible.

Note that CET shares the similar problems to SMEP/SMAP with Ring1 being
supervisor to the processor, and that the layout of the shadow stack differs
between an IRET to Ring 1 and Ring 3.  Therefore, we disable PV32 when CET is
enabled.  Compatibility can be maintained if necessary via PV-Shim.

The BSP needs to wait until alternatives have run (to avoid interaction with
CR0.WP), and after the first reset_stack_and_jump() to avoid having a pristine
shadow stack interact in problematic ways with an in-use regular stack.
Activate shadow stack in reinit_bsp_stack().

APs have all infrastructure set up by the booting CPU, so enable shadow stacks
before entering C.  Adjust the logic to call start_secondary rather than jump
to it, so stack traces make more sense.

The crash path needs to turn CET off to avoid interfering with the crash
kernel's environment.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2020-05-29 23:09:46 +01:00
..
2020-05-29 17:33:03 +01:00
2018-11-14 19:25:11 +00:00
2020-04-03 20:11:46 +01:00

Sphinx documentation:

All source rendered by Sphinx is licensed under CC-BY-4.0.

You are free to:
  Share:
    Copy and redistribute the material in any medium or format.
  Adapt:
    Remix, transform, and build upon the material for any purpose, even
    commercially.

Under the following terms:
  Attribution:
    You must give appropriate credit, provide a link to the license, and
    indicate if changes were made. You may do so in any reasonable manner, but
    not in any way that suggests the licensor endorses you or your use.
  No additional restrictions:
    You may not apply legal terms or technological measures that legally
    restrict others from doing anything the license permits.

See https://creativecommons.org/licenses/by/4.0/ for full details.

This includes:
  * All ReStructured Text files:          docs/*/*.rst
  * The Sphinx configuration file:        docs/conf.py
  * Content in Sphinx-exclusive subdirs:  docs/*-guide/*


Other documentation:

There are a variety of text documents in various formats.  These, given no
explicit license guidance, fall under Xen's default GPL-2.0 license.