Re: [RFC PATCH 14/56] x86/bugs: Reset GDS mitigations

Pawan Gupta
2025-10-24T02:41:01Z

On Mon, Oct 13, 2025 at 09:34:02AM -0500, David Kaplan wrote:
> Add function to reset GDS mitigations back to their boot-time defaults.
>
> Signed-off-by: David Kaplan <david.kaplan@amd.com>
> ---
> arch/x86/kernel/cpu/bugs.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
> index 112553058ccc..e765ac0b9240 100644
> --- a/arch/x86/kernel/cpu/bugs.c
> +++ b/arch/x86/kernel/cpu/bugs.c
> @@ -1182,6 +1182,18 @@ static void __init gds_apply_mitigation(void)
> pr_info("%s\n", gds_strings[gds_mitigation]);
> }
>
> +#ifdef CONFIG_DYNAMIC_MITIGATIONS
> +static void gds_reset_mitigation(void)
> +{
> + /* To cause the MSR bit to be cleared. */
> + gds_mitigation = GDS_MITIGATION_OFF;
> + if (x86_arch_cap_msr & ARCH_CAP_GDS_CTRL)
> + update_gds_msr();

This also needs to check for GDS_MITIGATION_FULL_LOCKED, otherwise in the
locked case it would trigger this warning in update_gds_msr():

WARN_ON_ONCE(mcu_ctrl != mcu_ctrl_after);