Re: [PATCH 3/5] x86/microcode/intel: Allow a late-load only if a min rev is specified

From: Peter Zijlstra
Date: Mon Aug 15 2022 - 03:43:16 EST


On Sat, Aug 13, 2022 at 10:38:23PM +0000, Ashok Raj wrote:

> The proposal here is an even simpler option. The criteria for a microcode to
> be a viable late-load candidate is that no CPUID or OS visible MSR features
> are removed with respect to an earlier version of the microcode.
>
> Pseudocode for late-load is as follows:
>
> if header.min_required_id == 0
> This is old format microcode, block late-load
> else if current_ucode_version < header.min_required_id
> Current version is too old, block late-load of this microcode.
> else
> OK to proceed with late-load.

What about ucode that adds CPUID bits? Since the kernel will not re-init
it will not pick up on those. But userspace might.

Should we at all time enable CPUID intercept to ensure user visible
CPUID doesn't change?