Re: [tip: x86/urgent] x86/CPU/AMD: Add RDSEED fix for Zen5

From: Borislav Petkov
Date: Mon Nov 03 2025 - 09:28:29 EST


On Mon, Nov 03, 2025 at 02:59:11PM +0100, Peter Jung wrote:
> CachyOS is compiling the packages with -march=znver5 and the GCC compiler
> currently does pass RDSEED.

Yah, the compiler should not *pass* RDSEED, but issue code which checks
whether RDSEED is there. Otherwise what's the point of CPUID flags?!

I guess this should make those boxes boot but damn, that ain't right:

---
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 8e36964a7721..810be49dad31 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -1044,8 +1044,7 @@ static void init_amd_zen5(struct cpuinfo_x86 *c)
{
if (!x86_match_min_microcode_rev(zen5_rdseed_microcode)) {
clear_cpu_cap(c, X86_FEATURE_RDSEED);
- msr_clear_bit(MSR_AMD64_CPUID_FN_7, 18);
- pr_emerg_once("RDSEED32 is broken. Disabling the corresponding CPUID bit.\n");
+ WARN_ONCE(1, "RDSEED32 is broken. Disabling the corresponding CPUID bit.\n");
}
}

> This patch results into that also Client CPUs (Strix Point, Granite Ridge),
> can not execute this. There has been a microcode fix deployed in
> linux-firmware for Turin, but no other microcode changes seen yet.
>
> I think it would be possible to exclude clients or providing a fix for this.

Client fixes are getting ready but I can't tell you when they'll be there.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette