mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
The Linux rethunk and safe-ret speculative safety techniques involve transforming `ret` to `jmp __x86_return_thunk` at compile time. Placing naked `ret`s back in executable .text breaks these mitigations. CET-IBT requires ENDBR instructions, and while we could in principle fix that, the need to select between ENDBR32 or ENDBR64 means that the contents of the hypercall page would need to become more mode-specific than it currently is (HVM hypercall pages are currently 32bit and 64bit compatbile). However, there's no feasible way to make a hypercall page compatible with fine-grain CFI schemes such as FineIBT. OSes which care about either of these things are better off avoiding the hypercall page. This is part of XSA-466. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>