Re: [PATCH v8 24/33] x86/fred: disallow the swapgs instruction when FRED is enabled

From: Thomas Gleixner
Date: Mon Jun 05 2023 - 09:47:25 EST


On Mon, Apr 10 2023 at 01:14, Xin Li wrote:
> From: "H. Peter Anvin (Intel)" <hpa@xxxxxxxxx>
>
> The FRED architecture establishes the full supervisor/user through:
> 1) FRED event delivery swaps the value of the GS base address and
> that of the IA32_KERNEL_GS_BASE MSR.
> 2) ERETU swaps the value of the GS base address and that of the
> IA32_KERNEL_GS_BASE MSR.
> Thus, the swapgs instruction is disallowed when FRED is enabled,
> otherwise it causes #UD.

Which does not explain why writing directly to the IA32_KERNEL_GS_BASE
MSR is doing the right thing.

Thanks,

tglx