2024-01-05 16:37:48

by Andi Kleen

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

This one place forgot to check the fixed capability.

Signed-off-by: Andi Kleen <[email protected]>
---
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-01-09 19:08:24

by Thomas Gleixner

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

On Fri, Jan 05 2024 at 08:37, Andi Kleen wrote:
> This one place forgot to check the fixed capability.

What's the consequence of that missing check and shouldn't this have a
Fixes tag?

Thanks,

tglx



2024-01-10 04:24:21

by Andi Kleen

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

On Tue, Jan 09, 2024 at 08:06:26PM +0100, Thomas Gleixner wrote:
> On Fri, Jan 05 2024 at 08:37, Andi Kleen wrote:
> > This one place forgot to check the fixed capability.
>
> What's the consequence of that missing chec

You get a WARN_ON for a WRMSR failing if you don't have the MSR.

> and shouldn't this have a Fixes tag?

It's more an ancient bug back dating back to my tenure in 2007, but here it is:

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

-Andi

2024-01-10 14:31:05

by Thomas Gleixner

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

On Tue, Jan 09 2024 at 20:24, Andi Kleen wrote:
> On Tue, Jan 09, 2024 at 08:06:26PM +0100, Thomas Gleixner wrote:
>> On Fri, Jan 05 2024 at 08:37, Andi Kleen wrote:
>> > This one place forgot to check the fixed capability.
>>
>> What's the consequence of that missing chec
>
> You get a WARN_ON for a WRMSR failing if you don't have the MSR.
>
>> and shouldn't this have a Fixes tag?
>
> It's more an ancient bug back dating back to my tenure in 2007, but here it is:
>
> Fixes: 2b1f6278d77c ("[PATCH] x86: Save the MTRRs of the BSP before")

Care to send a V2 with a less meager changelog?