Messages in this thread | | | Date | Wed, 7 Dec 2022 21:25:54 +0100 | From | Borislav Petkov <> | Subject | Re: [Patch V1 4/7] x86/microcode/core: Take a snapshot before and after applying microcode |
| |
On Tue, Nov 29, 2022 at 01:08:29PM -0800, Ashok Raj wrote: > The kernel caches features about each CPU's features at boot in an > x86_capability[] structure. The microcode update takes one snapshot and > compares it with the saved copy at boot. > > However, the capabilities in the boot copy can be turned off as a result of > certain command line parameters or configuration restrictions. This can > cause a mismatch when comparing the values before and after the microcode > update.
Hmm, but if that has happened, the capabilities will be turned off in your @orig argument below?
Or are you saying that this copy_cpu_caps() read before the update will overwrite the cleared bits with the their actual values from CPUID so that what you really wanna compare here is *hardware* CPUID bits before and after and not our potentially modified copy?
I.e., some bit in CPUID is 1 and we have cleared it in our copy.
Close?
If so, then this should be specifically called out in the commit message.
> +static void copy_cpu_caps(struct cpuinfo_x86 *info)
If anything, that function should be called
store_cpu_caps()
and store it into its parameter *info.
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |