Dropping stable. On Sat, Oct 20, 2018 at 07:41:58AM -0700, Andi Kleen wrote: > From: Andi Kleen <a...@linux.intel.com> > > The Intel microcode revision space is unsigned. Inside Intel there are special > microcodes that have the highest bit set, and they are considered to have > a higher revision than any microcodes that don't have this bit set. > > The function comparing the microcode revision in the Linux driver compares > u32 with int, which ends up being signed extended to long on 64bit > systems. This results in these highest bit set microcode revision not loading > because their revision appears negative and smaller than the > existing microcode. > > Change the comparison to unsigned. With that the loading works > as expected. > > Cc: sta...@vger.kernel.org # Any supported stable > Signed-off-by: Andi Kleen <a...@linux.intel.com> > -- > v2: White space changes. > --- > arch/x86/kernel/cpu/microcode/intel.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/cpu/microcode/intel.c > b/arch/x86/kernel/cpu/microcode/intel.c > index 16936a24795c..e54d402500d3 100644 > --- a/arch/x86/kernel/cpu/microcode/intel.c > +++ b/arch/x86/kernel/cpu/microcode/intel.c > @@ -93,7 +93,8 @@ static int find_matching_signature(void *mc, unsigned int > csig, int cpf) > /* > * Returns 1 if update has been found, 0 otherwise. > */ > -static int has_newer_microcode(void *mc, unsigned int csig, int cpf, int > new_rev) > +static int has_newer_microcode(void *mc, unsigned int csig, int cpf, > + unsigned new_rev) > { > struct microcode_header_intel *mc_hdr = mc; > > --
Please incorporate all review comments before sending a new version of your patch. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.