2024-01-10 15:08:24

by Andi Kleen

[permalink] [raw]
Subject: [PATCH v2] x86/mtrr: Check if fixed MTRRs exist before saving them

This one place forgot to check the fixed capability. Otherwise there
will a harmless but ugly WARN_ON for the failed WRMSR when the MSR
doesn't exist. Noticed when testing X86S support.

Fixes: 2b1f6278d77c ("[PATCH] x86: Save the MTRRs of the BSP before")
Signed-off-by: Andi Kleen <[email protected]>

---

v2: Add Fixes tag and expand description.
---
arch/x86/kernel/cpu/mtrr/mtrr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index 767bf1c71aad..2a2fc14955cd 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -609,7 +609,7 @@ void mtrr_save_state(void)
{
int first_cpu;

- if (!mtrr_enabled())
+ if (!mtrr_enabled() || !mtrr_state.have_fixed)
return;

first_cpu = cpumask_first(cpu_online_mask);
--
2.43.0



2024-02-28 16:52:12

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH v2] x86/mtrr: Check if fixed MTRRs exist before saving them

On Wed, Jan 10, 2024 at 07:08:06AM -0800, Andi Kleen wrote:
> This one place forgot to check the fixed capability. Otherwise there
> will a harmless but ugly WARN_ON for the failed WRMSR when the MSR
> doesn't exist. Noticed when testing X86S support.
>
> Fixes: 2b1f6278d77c ("[PATCH] x86: Save the MTRRs of the BSP before")
> Signed-off-by: Andi Kleen <[email protected]>
>
> ---
>
> v2: Add Fixes tag and expand description.

Just wanted to ping the patch. Thanks.

-Andi


> ---
> arch/x86/kernel/cpu/mtrr/mtrr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
> index 767bf1c71aad..2a2fc14955cd 100644
> --- a/arch/x86/kernel/cpu/mtrr/mtrr.c
> +++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
> @@ -609,7 +609,7 @@ void mtrr_save_state(void)
> {
> int first_cpu;
>
> - if (!mtrr_enabled())
> + if (!mtrr_enabled() || !mtrr_state.have_fixed)
> return;
>
> first_cpu = cpumask_first(cpu_online_mask);
> --
> 2.43.0
>

2024-02-28 23:26:37

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [PATCH v2] x86/mtrr: Check if fixed MTRRs exist before saving them

On Wed, Jan 10 2024 at 07:08, Andi Kleen wrote:
> This one place forgot to check the fixed capability.

This one place forgot? And what the heck is a fixed capability?

> Otherwise there will a harmless but ugly WARN_ON for the failed WRMSR
> when the MSR doesn't exist.

This is not a sentence as it lacks a verb,

Also it does not matter whether you think that the WARN_ON() is ugly or
not. Can you please write a changelog in technical terms?

> Noticed when testing X86S support.

Who cares?

> Fixes: 2b1f6278d77c ("[PATCH] x86: Save the MTRRs of the BSP before")

This fixes tag is pointlessly truncated. The correct one is:

Fixes: 2b1f6278d77c ("[PATCH] x86: Save the MTRRs of the BSP before booting an AP")

It's not rocket science to copy & pasta correctly.

Thanks,

tglx