[PATCH 1/2] x86, microcode: Do Intel microcode revision check signed

From: Andi Kleen
Date: Fri Dec 06 2013 - 16:04:16 EST


From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

The Intel SDM Vol 3 9.11.1 Microcode update states that
the update revision field is signed. However we do the comparison
unsigned, as the comparison gets promoted.

Use a cast to really do a signed comparison of the microcode
revision.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
---
arch/x86/kernel/microcode_intel_lib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/microcode_intel_lib.c b/arch/x86/kernel/microcode_intel_lib.c
index ce69320..68503d1 100644
--- a/arch/x86/kernel/microcode_intel_lib.c
+++ b/arch/x86/kernel/microcode_intel_lib.c
@@ -41,7 +41,7 @@ update_match_cpu(unsigned int csig, unsigned int cpf,
int
update_match_revision(struct microcode_header_intel *mc_header, int rev)
{
- return (mc_header->rev <= rev) ? 0 : 1;
+ return ((int)mc_header->rev <= rev) ? 0 : 1;
}

int microcode_sanity_check(void *mc, int print_err)
--
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/