On 05.04.2024 14:11, Fouad Hilly wrote: > Remove microcode version check at Intel and AMD Level. > Microcode version check will be at higher and common level.
"will be" reads as if you're removing logic here, to introduce some replacement later. If so, that's going to be a transient regression, which needs avoiding. Indeed ... > --- a/xen/arch/x86/cpu/microcode/amd.c > +++ b/xen/arch/x86/cpu/microcode/amd.c > @@ -383,12 +383,8 @@ static struct microcode_patch *cf_check > cpu_request_microcode( > goto skip; > } > > - /* > - * If the new ucode covers current CPU, compare ucodes and store > the > - * one with higher revision. > - */ > - if ( (microcode_fits(mc->patch) != MIS_UCODE) && > - (!saved || (compare_header(mc->patch, saved) == NEW_UCODE)) > ) > + /* If the provided ucode covers current CPU, then store its > revision. */ > + if ( (microcode_fits(mc->patch) != MIS_UCODE) && !saved ) > { > saved = mc->patch; > saved_size = mc->len; ... this looks like a logic change to me, with there not being anything similar in common code afaics. Am I overlooking anything? > --- a/xen/arch/x86/cpu/microcode/intel.c > +++ b/xen/arch/x86/cpu/microcode/intel.c > @@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct > microcode_patch *patch) > > result = microcode_update_match(patch); > > - if ( result != NEW_UCODE && > - !(opt_ucode_allow_same && result == SAME_UCODE) ) > + if ( result != NEW_UCODE && result != SAME_UCODE ) > return -EINVAL; I'm afraid I can't relate this adjustment with title and description of the patch. Jan