public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] x86/cpu: Take Intel platform into account for old microcode checks
@ 2026-01-19 19:50 Dave Hansen
  2026-01-19 19:50 ` [PATCH 1/6] x86/cpu: Break Vendor/Family/Model macros into separate header Dave Hansen
                   ` (7 more replies)
  0 siblings, 8 replies; 44+ messages in thread
From: Dave Hansen @ 2026-01-19 19:50 UTC (permalink / raw)
  To: linux-kernel
  Cc: sohil.mehta, Dave Hansen, Borislav Petkov, H. Peter Anvin,
	Ingo Molnar, Jon Kohler, Pawan Gupta, Peter Zijlstra (Intel),
	Thomas Gleixner, Tony Luck, x86

There was a report[1] that CPUs running updated microcode were being
reported as running old microcode. The reason is that the old
microcode list neglects to take the platform ID into account.

The platform ID is an Intel-only construct that allows CPUs that
otherwise have the same model/family/stepping to take different
microcode revisions. The microcode loader itself already checks this.
Only the recent "old_microcode" checker failed here.

Treat the platform ID as a peer of model/family/stepping. Store it
in 'struct cpuinfo_x86', enable matching on it with with 'struct
x86_cpu_id', and flesh out the 'old_microcode' list with it.

This fixes the report of an inaccurate, false positive in the
'old_microcode' vulnerability file.

1. https://lore.kernel.org/all/38660F8F-499E-48CD-B58B-4822228A5941@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
Cc: Jon Kohler <jon@nutanix.com>

^ permalink raw reply	[flat|nested] 44+ messages in thread
* Re: [PATCH 4/6] x86/cpu: Add platform ID to CPU info structure
@ 2026-01-20 14:34 Maciej Wieczor-Retman
  2026-01-20 15:13 ` Dave Hansen
  0 siblings, 1 reply; 44+ messages in thread
From: Maciej Wieczor-Retman @ 2026-01-20 14:34 UTC (permalink / raw)
  To: Dave Hansen
  Cc: linux-kernel, sohil.mehta, Borislav Petkov, H. Peter Anvin,
	Ingo Molnar, Jon Kohler, Pawan Gupta, Peter Zijlstra (Intel),
	Thomas Gleixner, Tony Luck, x86

On 2026-01-19 at 11:50:55 -0800, Dave Hansen wrote:
>
>From: Dave Hansen <dave.hansen@linux.intel.com>
>
>The end goal here is to be able to do x86_match_cpu() and match on a
>specific platform ID. While it would be possible to stash this ID
>off somewhere or read it dynamically, that approaches would not be
>consistent with the other fields which can be matched.
>
>Read the platform ID and store it in cpuinfo_x86->x86_platform_id.
>
>There are lots of sites to set this new field. Place it near
>the place c->microcode is established since the platform ID is
>so closely intertwined with microcode updates.
>
>Note: This should not grow the size of 'struct cpuinfo_x86' in
>practice since the u8 fits next to another u8 in the structure.
>
>Signed-off-by: Dave Hansen <dave.hansen@linux.intel.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
>Cc: Jon Kohler <jon@nutanix.com>
>---
>
> b/arch/x86/include/asm/processor.h |    1 +
> b/arch/x86/kernel/cpu/common.c     |    4 +++-
> b/arch/x86/kernel/cpu/intel.c      |    1 +
> 3 files changed, 5 insertions(+), 1 deletion(-)
>
>diff -puN arch/x86/include/asm/processor.h~cpu-x86_stepping arch/x86/include/asm/processor.h
>--- a/arch/x86/include/asm/processor.h~cpu-x86_stepping	2026-01-19 11:38:09.341914025 -0800
>+++ b/arch/x86/include/asm/processor.h	2026-01-19 11:38:09.444917962 -0800
>@@ -140,6 +140,7 @@ struct cpuinfo_x86 {
> 		__u32		x86_vfm;
> 	};
> 	__u8			x86_stepping;
>+	__u8			x86_platform_id; /* Intel-only. 3 bits */

Should platform ID be added to print_cpu_info()?

So it's printed alongside (family: 0xN model: 0xN, stepping: 0xN)

-- 
Kind regards
Maciej Wieczór-Retman


^ permalink raw reply	[flat|nested] 44+ messages in thread
* [PATCH 0/6] [v2] x86/cpu: Take Intel platform into account for old microcode checks
@ 2026-02-06 23:14 Dave Hansen
  2026-02-06 23:14 ` [PATCH 4/6] x86/cpu: Add platform ID to CPU info structure Dave Hansen
  0 siblings, 1 reply; 44+ messages in thread
From: Dave Hansen @ 2026-02-06 23:14 UTC (permalink / raw)
  To: linux-kernel
  Cc: sohil.mehta, zhao1.liu, Dave Hansen, Borislav Petkov,
	H. Peter Anvin, Ingo Molnar, Jon Kohler, Pawan Gupta,
	Peter Zijlstra (Intel), Thomas Gleixner, Tony Luck, x86

Changes from v1:
 * Fix non-x86 PECI compile issues by lifting some x86 macros
   into an arch-independent header.
 * Make intel_get_platform_id() match its name and return an ID,
   not a mask.
 * Sort #includes
 * Move ->x86_platform_id comment

The platform ID vs. platform mask confusion meant that v1
worked by total accident. If you tested v1, I'd really
appreciate you retest this as well.

--

There was a report[1] that CPUs running updated microcode were being
reported as running old microcode. The reason is that the old
microcode list neglects to take the platform ID into account.

The platform ID is an Intel-only construct that allows CPUs that
otherwise have the same model/family/stepping to take different
microcode revisions. The microcode loader itself already checks this.
Only the recent "old_microcode" checker failed here.

Treat the platform ID as a peer of model/family/stepping. Store it
in 'struct cpuinfo_x86', enable matching on it with with 'struct
x86_cpu_id', and flesh out the 'old_microcode' list with it.

This fixes the report of an inaccurate, false positive in the
'old_microcode' vulnerability file.

1. https://lore.kernel.org/all/38660F8F-499E-48CD-B58B-4822228A5941@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
Cc: Jon Kohler <jon@nutanix.com>

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2026-02-12 15:22 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-20  0:26   ` Dave Hansen
2026-01-20  8:19     ` Andy Shevchenko
2026-01-20 15:35       ` Dave Hansen
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
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-01-20 14:34 [PATCH 4/6] x86/cpu: Add platform ID to CPU info structure Maciej Wieczor-Retman
2026-01-20 15:13 ` Dave Hansen
2026-01-20 16:03   ` Maciej Wieczor-Retman
2026-01-20 16:12     ` Dave Hansen
2026-02-06 23:14 [PATCH 0/6] [v2] x86/cpu: Take Intel platform into account for old microcode checks Dave Hansen
2026-02-06 23:14 ` [PATCH 4/6] x86/cpu: Add platform ID to CPU info structure Dave Hansen
2026-02-08 21:37   ` Borislav Petkov
2026-02-11 18:40     ` Dave Hansen
2026-02-12 15:22       ` Borislav Petkov
2026-02-10 23:23   ` Sohil Mehta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox