Re: [PATCH] x86/microcode/intel: Panic on partial microcode update

From: Chang S. Bae

Date: Mon Jul 27 2026 - 23:05:32 EST


On 7/27/2026 2:59 PM, Sohil Mehta wrote:

What does an authentication failure mean in this context?


The spec has this:

When set to 1, it indicates that an authentication failure occurred on
some portion of the MCU after another portion had already been
committed and the Revision ID had already been updated on the most
recent write to IA32_BIOS_UPDT_TRIG.

It would be helpful if including some examples, but those appear to fall under microcode implementation details as I heard.

Does that mean unauthenticated microcode components somehow got loaded?

or that

Someone attempted to load bogus microcode which was rejected by the
processor?


First, the SDM describes the legacy behavior in Vol.3A 12.11.7 "Update Signature and Verification". In the legacy flow, an invalid or unauthenticated patch is rejected _before_ the revision ID is updated. So the outcome is effectively binary: either the update succeeds, or it is rejected.

The partial-update status introduce a third outcome. Some portion of the update has already been committed and (maybe, therefore) the revision ID has been updated, but another portion failed. The result is not the simple "accepted" or "rejected" state. This thus could be seen as a bogus state from this perspective, TBH.

If it was rejected, then there is no need to panic, right? Just warning
about the attempt should be enough.


In this new state, the processor may either continue operating or end up running with a combination of sub-components that has never been tested. Given that, I think one question to ask in the end is whether we trust the microcode's own error handling (completely), or not.

Thanks,
Chang