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

Ashok Raj
2022-08-15T12:29:38Z

On Mon, Aug 15, 2022 at 09:43:00AM +0200, Peter Zijlstra wrote:
> 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?

The protection is to make sure any existing users won't experience a
feature pulled under their feet.

Using new features aren't dangerous though, and should be permitted.