Re: [PATCH v3] x86/microcode/intel: Reject problematic loading on Granite Rapids systems
From: Chang S. Bae
Date: Thu Sep 17 2026 - 15:38:49 EST
On 9/17/2026 11:43 AM, Van De Ven, Arjan wrote:
> already got upgraded to EXACTLY the target version, and skip the
But we could, on the actual application, at least check if the ucode
> actual application if it has been upgraded. That is a simple check
> with basically no policy ("identity") but with huge savings
Yes, I think that' what we do now:
__apply_microcode(..., struct microcode_intel *mc, ...)
{
u32 rev;
if (!mc)
return UCODE_NFOUND;
*cur_rev = intel_get_microcode_revision();
^ read MSR0x8b (aka MSR_IA32_UCODE_REV)
if (*cur_rev >= mc->hdr.rev) {
uci->cpu_sig.rev = *cur_rev;
return UCODE_OK;
^ we skip the loading if updated
}
/* write microcode via MSR 0x79 */
native_wrmsrq(MSR_IA32_UCODE_WRITE, (unsigned long)mc->bits);
...
}
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/cpu/microcode/intel.c#n646
Thanks,
Chang