From: Zhao Liu <zhao1.liu@intel.com>
To: Dave Hansen <dave.hansen@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, sohil.mehta@intel.com,
Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
Ingo Molnar <mingo@redhat.com>, Jon Kohler <jon@nutanix.com>,
Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Thomas Gleixner <tglx@kernel.org>,
Tony Luck <tony.luck@intel.com>,
x86@kernel.org
Subject: Re: [PATCH 6/6] x86/microcode: Add platform mask to Intel microcode "old" list
Date: Tue, 20 Jan 2026 22:33:04 +0800 [thread overview]
Message-ID: <aW+SIAYT4A5Rf9VG@intel.com> (raw)
In-Reply-To: <20260119195100.C96636C3@davehans-spike.ostc.intel.com>
On Mon, Jan 19, 2026 at 11:51:00AM -0800, Dave Hansen wrote:
> Date: Mon, 19 Jan 2026 11:51:00 -0800
> From: Dave Hansen <dave.hansen@linux.intel.com>
> Subject: [PATCH 6/6] x86/microcode: Add platform mask to Intel microcode
> "old" list
>
>
> From: Dave Hansen <dave.hansen@linux.intel.com>
>
> Intel sometimes has CPUs with identical family/model/stepping but
> which need different microcode. These CPUs are differentiated with the
> platform ID.
>
> The Intel "microcode-20250512" release was used to generate the
> existing contents of intel-ucode-defs.h. Use that same release and add
> the platform mask to the definitions.
>
> This makes the list a few entries longer. For example for the ancient
> Pentium III there are two CPUs that differ only in their platform and
> have two different microcode versions:
>
> { ..., .model = 0x05, .steppings = 0x0001, .platform_mask = 0x01, .driver_data = 0x40 },
> { ..., .model = 0x05, .steppings = 0x0001, .platform_mask = 0x08, .driver_data = 0x45 },
>
> These CPUs previously shared a definition. Another example is the
> state-of-the-art Granite Rapids:
>
> { ..., .model = 0xad, .steppings = 0x0002, .platform_mask = 0x20, .driver_data = 0xa0000d1 },
> { ..., .model = 0xad, .steppings = 0x0002, .platform_mask = 0x95, .driver_data = 0x10003a2 },
>
> As you can see, this differentiation with platform ID has been
> necessary for a long time and is still relevant today.
>
> Without the platform matching, the old microcode table is incomplete.
> For instance, it might lead someone with a Pentium III, platform 0x0,
> and microcode 0x40 to think that they should have microcode 0x45,
> which is really only for platform 0x4 (.platform_mask==0x08).
>
> In practice, this meant that folks with fully updated microcode were
> seeing "Vulnerable" in the "old_microcode" file.
>
> 1. https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
>
> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> Reported-by: Jon Kohler <jon@nutanix.com>
> Fixes: 4e2c719782a8 ("x86/cpu: Help users notice when running old Intel microcode")
> Link: https://lore.kernel.org/all/3ECBB974-C6F0-47A7-94B6-3646347F1CC2@nutanix.com/
> Cc: Thomas Gleixner <tglx@kernel.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
> Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
> Cc: x86@kernel.org
> ---
>
> b/arch/x86/kernel/cpu/microcode/intel-ucode-defs.h | 368 +++++++++++----------
> 1 file changed, 208 insertions(+), 160 deletions(-)
Reproduce the issue:
On a SPR-SP (F-M-S: 06-8f-08) machine, update the microcode to the
latest 20251111 release:
* v6.19.0-rc6 (w/o this series):
# dmesg | grep microcode
[ 0.000000] x86/CPU: Running old microcode
[ 20.400144] microcode: Current revision: 0x2b000650
[ 20.408038] microcode: Updated early from: 0x2b000461
* v6.19.0-rc6 (with this series):
# dmesg | grep microcode
[ 20.499999] microcode: Current revision: 0x2b000650
[ 20.507562] microcode: Updated early from: 0x2b000461
The false positive complain about old microcode is fixed on my machine.
So,
Tested-by: Zhao Liu <zhao1.liu@intel.com>
next prev parent reply other threads:[~2026-01-20 14:07 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-19 19:50 [PATCH 0/6] x86/cpu: Take Intel platform into account for old microcode checks Dave Hansen
2026-01-19 19:50 ` [PATCH 1/6] x86/cpu: Break Vendor/Family/Model macros into separate header Dave Hansen
2026-01-20 8:24 ` Andy Shevchenko
2026-01-20 15:03 ` Dave Hansen
2026-01-20 16:22 ` Andy Shevchenko
2026-01-20 16:34 ` Dave Hansen
2026-01-20 20:54 ` Andy Shevchenko
2026-01-20 16:48 ` Luck, Tony
2026-01-20 20:50 ` Shevchenko, Andriy
2026-01-19 19:50 ` [PATCH 2/6] x86/cpu: Add missing #include Dave Hansen
2026-01-19 23:33 ` kernel test robot
2026-01-20 0:26 ` Dave Hansen
2026-01-20 8:19 ` Andy Shevchenko
2026-01-20 15:35 ` Dave Hansen
2026-01-20 3:26 ` kernel test robot
2026-01-19 19:50 ` [PATCH 3/6] x86/microcode: Refactor platform ID enumeration into a helper Dave Hansen
2026-01-20 3:07 ` Chao Gao
2026-01-20 16:06 ` Dave Hansen
2026-01-20 20:59 ` Andy Shevchenko
2026-01-22 19:26 ` Sohil Mehta
2026-01-19 19:50 ` [PATCH 4/6] x86/cpu: Add platform ID to CPU info structure Dave Hansen
2026-01-20 3:14 ` Chao Gao
2026-01-20 15:22 ` Dave Hansen
2026-01-21 2:03 ` Chao Gao
2026-01-20 8:27 ` Andy Shevchenko
2026-01-20 15:06 ` Dave Hansen
2026-01-20 20:44 ` Andy Shevchenko
2026-01-20 20:48 ` Dave Hansen
2026-01-19 19:50 ` [PATCH 5/6] x86/cpu: Add platform ID to CPU matching structure Dave Hansen
2026-01-20 8:30 ` Andy Shevchenko
2026-01-20 15:09 ` Dave Hansen
2026-01-19 19:51 ` [PATCH 6/6] x86/microcode: Add platform mask to Intel microcode "old" list Dave Hansen
2026-01-20 14:33 ` Zhao Liu [this message]
2026-01-20 15:10 ` Dave Hansen
2026-01-29 21:23 ` Sohil Mehta
2026-01-20 18:18 ` [PATCH 0/6] x86/cpu: Take Intel platform into account for old microcode checks Dave Hansen
2026-01-22 13:56 ` Ricardo Neri
-- strict thread matches above, loose matches on Subject: below --
2026-02-06 23:14 [PATCH 0/6] [v2] " Dave Hansen
2026-02-06 23:14 ` [PATCH 6/6] x86/microcode: Add platform mask to Intel microcode "old" list Dave Hansen
2026-02-10 23:39 ` Sohil Mehta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aW+SIAYT4A5Rf9VG@intel.com \
--to=zhao1.liu@intel.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jon@nutanix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=peterz@infradead.org \
--cc=sohil.mehta@intel.com \
--cc=tglx@kernel.org \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.