public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/microcode/intel: Ensure new microcode processor flags match with cpu's pf
@ 2018-06-04  8:16 Zhenzhong Duan
  2018-06-18 19:56 ` Borislav Petkov
  0 siblings, 1 reply; 6+ messages in thread
From: Zhenzhong Duan @ 2018-06-04  8:16 UTC (permalink / raw)
  To: Linux-Kernel; +Cc: mingo, tglx, Srinivas REDDY Eeda, bp, hpa

Intel spec says: 'The processor flags in the 48-byte header and the
processor flags field associated with the extended processor signature
structures may have multiple bits set.'

Make sure processor flags of the new microcode intersect with current
cpu's. Comparing with old microcode's pf can't guarantee this.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
---
 arch/x86/kernel/cpu/microcode/intel.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c
index 461e315..54f4014 100644
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -371,12 +371,10 @@ static int microcode_sanity_check(void *mc, int print_err)
 				goto next;
 
 		} else {
-			struct microcode_header_intel *phdr = &patch->hdr;
-
 			if (!has_newer_microcode(data,
-						 phdr->sig,
-						 phdr->pf,
-						 phdr->rev))
+						 uci->cpu_sig.sig,
+						 uci->cpu_sig.pf,
+						 patch->hdr.rev))
 				goto next;
 		}
 
-- 
1.7.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-06-19  9:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-04  8:16 [PATCH] x86/microcode/intel: Ensure new microcode processor flags match with cpu's pf Zhenzhong Duan
2018-06-18 19:56 ` Borislav Petkov
2018-06-19  4:49   ` Zhenzhong Duan
2018-06-19  9:12     ` Borislav Petkov
2018-06-19  9:24       ` Zhenzhong Duan
2018-06-19  9:35         ` Borislav Petkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox