[PATCH] x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo

Rong Zhang posted 1 patch 1 month, 1 week ago
There is a newer version of this series
arch/x86/kernel/cpu/microcode/amd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo
Posted by Rong Zhang 1 month, 1 week ago
Zen5 also contains Family 1Ah Models 70h-7Fh, which are mistakenly
missing from cpu_has_entrysign().

Fix it by merging the missing range into the current one.

Fixes: 8a9fb5129e8e ("x86/microcode/AMD: Limit Entrysign signature checking to known generations")
Cc: stable@kernel.org
Signed-off-by: Rong Zhang <i@rong.moe>
---
 arch/x86/kernel/cpu/microcode/amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
index 3821a985f4ff..46673530bc6f 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
@@ -258,7 +258,7 @@ static bool cpu_has_entrysign(void)
 	if (fam == 0x1a) {
 		if (model <= 0x2f ||
 		    (0x40 <= model && model <= 0x4f) ||
-		    (0x60 <= model && model <= 0x6f))
+		    (0x60 <= model && model <= 0x7f))
 			return true;
 	}
 

base-commit: 538254cd98afb31b09c4cc58219217d8127c79be
-- 
2.51.0
Re: [PATCH] x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo
Posted by Borislav Petkov 1 month, 1 week ago
On Tue, Dec 30, 2025 at 02:22:21AM +0800, Rong Zhang wrote:
> Zen5 also contains Family 1Ah Models 70h-7Fh, which are mistakenly
> missing from cpu_has_entrysign().
> 
> Fix it by merging the missing range into the current one.
> 
> Fixes: 8a9fb5129e8e ("x86/microcode/AMD: Limit Entrysign signature checking to known generations")
> Cc: stable@kernel.org
> Signed-off-by: Rong Zhang <i@rong.moe>
> ---
>  arch/x86/kernel/cpu/microcode/amd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
> index 3821a985f4ff..46673530bc6f 100644
> --- a/arch/x86/kernel/cpu/microcode/amd.c
> +++ b/arch/x86/kernel/cpu/microcode/amd.c
> @@ -258,7 +258,7 @@ static bool cpu_has_entrysign(void)
>  	if (fam == 0x1a) {
>  		if (model <= 0x2f ||
>  		    (0x40 <= model && model <= 0x4f) ||
> -		    (0x60 <= model && model <= 0x6f))
> +		    (0x60 <= model && model <= 0x7f))

I wonder how I managed to generate this crap - my AI must've been
hallucinating that day. :)

Especially since cpu/amd.c already has:

                case 0x60 ... 0x7f:
                        setup_force_cpu_cap(X86_FEATURE_ZEN5);

Oh well...

Thanks for the catch!

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette
[tip: x86/urgent] x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo
Posted by tip-bot2 for Rong Zhang 1 month, 1 week ago
The following commit has been merged into the x86/urgent branch of tip:

Commit-ID:     150b1b97e27513535dcd3795d5ecd28e61b6cb8c
Gitweb:        https://git.kernel.org/tip/150b1b97e27513535dcd3795d5ecd28e61b6cb8c
Author:        Rong Zhang <i@rong.moe>
AuthorDate:    Tue, 30 Dec 2025 02:22:21 +08:00
Committer:     Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 29 Dec 2025 20:08:02 +01:00

x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo

Zen5 also contains family 1Ah, models 70h-7Fh, which are mistakenly missing
from cpu_has_entrysign(). Add the missing range.

Fixes: 8a9fb5129e8e ("x86/microcode/AMD: Limit Entrysign signature checking to known generations")
Signed-off-by: Rong Zhang <i@rong.moe>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: stable@kernel.org
Link: https://patch.msgid.link/20251229182245.152747-1-i@rong.moe
---
 arch/x86/kernel/cpu/microcode/amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
index 3821a98..4667353 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
@@ -258,7 +258,7 @@ static bool cpu_has_entrysign(void)
 	if (fam == 0x1a) {
 		if (model <= 0x2f ||
 		    (0x40 <= model && model <= 0x4f) ||
-		    (0x60 <= model && model <= 0x6f))
+		    (0x60 <= model && model <= 0x7f))
 			return true;
 	}