Re: [PATCH RESEND] x86/speculation: Fix user-mode spectre-v2 protection with KERNEL_IBRS
From: Borislav Petkov
Date: Tue Feb 21 2023 - 05:59:28 EST
On Mon, Feb 20, 2023 at 11:30:46PM +0000, Andrew Cooper wrote:
> 1) Intel's legacy IBRS
> 2) AMD's regular IBRS
Yeah, we don't do that in the kernel.
> 3) AMD's AutoIBRS
>
> which all have different relevant behaviours for userspace. Just so
> it's written out coherently in at least one place...
>
> When SEV-SNP is enabled in firmware, whether or not it's being used by
> software, AutoIBRS keeps indirect predictions inhibited in all of
> ASID0. That's all host userspace to the non-hypervisor devs reading
> this thread.
Yap.
> For any AMD configuration setting STIBP, there must be an IBPB after
> having set STIBP. Setting STIBP alone does not evict previously
> created shared predictions. This one can go subtly wrong for anyone who
> assumes that Intel STIBP and AMD STIBP have the same behaviour.
We will IBPB eventually... on the next context switch.
> Furthermore, extra care needs taking on vmexit because transitioning
> from the guest STIBP setting to the host STIBP setting can leave shared
> predictions intact.
>From what I can tell from looking at the SVM code, we don't do anything
special there when restoring SPEC_CTRL.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette