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

From: Dave Hansen
Date: Thu Aug 18 2022 - 13:34:45 EST


On 8/15/22 00:46, Peter Zijlstra wrote:
> What if any validation do you have to ensure min_rev does as promised?
> That is, ucode can very easily lie about the number and still remove an
> MSR or CPUID enumerated feature.

We can absolutely add sanity checks to this. It would not be hard at
all to, for instance, dump out all the CPUID leaves we can get our hands
on and diff them before and after a ucode update.

That said, min_rev is *architectural*. It includes an architectural
promise from Intel that the ucode won't lie. If Intel is breaking
architectural promises, it has bigger problems on its hands.

Bugs happen, of course -- even bugs in architectural features. If there
are enough bugs that we can't trust min_rev, late-loading will just get
disabled again, probably permanently. Our Intel colleagues should have
all the incentive in the world to be very, very careful with min_rev.