Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp4518579rwb; Sat, 21 Jan 2023 13:46:52 -0800 (PST) X-Google-Smtp-Source: AMrXdXtWOYXcZobRaGNfoAYcDk0Pvpz7St8m/PABdBQPwW13z4mj589/LMZkKLk+sGhaY5yD2Avb X-Received: by 2002:a17:90b:368f:b0:229:1607:c830 with SMTP id mj15-20020a17090b368f00b002291607c830mr21116548pjb.25.1674337612581; Sat, 21 Jan 2023 13:46:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674337612; cv=none; d=google.com; s=arc-20160816; b=04JaoVvkopZ/04K6Owa5ZMqD949FD2lV2ko4zK97bPD88jr5AvnrEOmeDB8/Fs/pRN c2TJq5LkiHw/4Kd3un3lMjaTtQuctitvi1OVpjhIdR2Jq1ulCyWFxN38uNdGvLutsk8I hmzqLRh+PnPkfutEk3XUXkTWMkNzCt+CkVHwEKMI+4AKbUZztP9bB0+rL4Kfjrr2EGPG zUKfaxif689gAwNxiEYWtsl55zO5sseDUnckvmLYvpOsGF5ygP1hLtqufzqqPfyieej3 28DuPq3p6aEj0Gv7fXm/sO+DFGxgCc05aVvZZwsYcELf4tTsdGBX13uk+SPnXIY1aVf6 wEzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=cDTeMQqEFJQG2LSwwhhbY5b+91bfcR9QEXXovYw+ZoU=; b=gs6vz26+qH8X+eQFyWCm83NXaRl/WLWRcytunoKCw26nk0yEKHMfl6loAXl8WBtwdJ +GHLXq5iTiBLG7FLKmiAhsx9mqsLnchFMEbJPTApNFNuAl8PVVLI9pjLNkWubTWvr7A0 kfS2Dm4P+3PC1hIEL4LJPZWgqWG00kqVBPdaYMGmUXlSPVzAL5kAwWgjQfREANt2bsIW cldcKfmIlYJwvOY+43HNE/pqH+w+jLrA30OdsUNAOQE2FwKS7KpzUtDnEBQnhRfb73M/ OH19EKKEpUGG1Tc25XRVWNS+avlggvWXwNXj+mik2eD4l8//rcvQNDknZ6I1UxyQf1Dx 5rjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cQ6IbpuR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o13-20020a17090ad24d00b0022941527e57si7117931pjw.9.2023.01.21.13.46.45; Sat, 21 Jan 2023 13:46:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cQ6IbpuR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229910AbjAUVfd (ORCPT + 50 others); Sat, 21 Jan 2023 16:35:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229825AbjAUVf0 (ORCPT ); Sat, 21 Jan 2023 16:35:26 -0500 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 515C6233E3 for ; Sat, 21 Jan 2023 13:35:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1674336925; x=1705872925; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Utkwbxd4F4NcYH1oAdF84yeEOd+4iF/ZZchylSgannA=; b=cQ6IbpuREL7gi1Co98O+fJdM3zpFqrvbDoM6sGdwfhJ3CZXVVDZ0n0vx 9/tl7gW+N2E9r3CR6THtp8tv8Gc8uPioP/CglK/M8VHNJdxl1w/cfOOCa tuMtzdq4OesR1ZgUsNDabQUludvsjPHaPRhqi34ZC1lVmAc8kdcdDDdDl w83YvSklHz4cTbG50jDFmjDvEUCxei+sYEKW36R78/TZtAKzJ6AXZ/ORB JEFn4UNpIb3wVZvVMppY0F4amTb5ahD1DRLvJE9uxYcyioBP4RwtWJmPM uu30QL31FApEiDfK3/v0pw3+Z3FI6ldlpTP/ZkmaxA3IWltHL0JLfqAe5 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10597"; a="412066332" X-IronPort-AV: E=Sophos;i="5.97,235,1669104000"; d="scan'208";a="412066332" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2023 13:35:22 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10597"; a="784946316" X-IronPort-AV: E=Sophos;i="5.97,235,1669104000"; d="scan'208";a="784946316" Received: from araj-ucode.jf.intel.com ([10.23.0.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2023 13:35:21 -0800 From: Ashok Raj To: Thomas Gleixner , Borislav Petkov Cc: Ashok Raj , LKML , x86 , Ingo Molnar , Tony Luck , Dave Hansen , Alison Schofield , Reinette Chatre , Tom Lendacky , Stefan Talpalaru , David Woodhouse , Benjamin Herrenschmidt , Jonathan Corbet , "Rafael J . Wysocki" , Peter Zilstra , Andy Lutomirski , Andrew Cooper , Boris Ostrovsky , Martin Pohlack Subject: [Part 2 v2[cleanup] 3/4] x86/microcode/intel: Fix collect_cpu_info() to reflect current microcode Date: Sat, 21 Jan 2023 13:35:11 -0800 Message-Id: <20230121213512.251578-4-ashok.raj@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230121213512.251578-1-ashok.raj@intel.com> References: <87y1pygiyf.ffs@tglx> <20230121213512.251578-1-ashok.raj@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently collect_cpu_info() is only returning what was cached earlier instead of reading the current revision from the proper MSR. Collect the current revision and report that value instead of reflecting what was cached in the past. [TBD: Need to change microcode/amd.c. I didn't quite follow the logic since it reports the patch from the pathfile instead of reading the real PATCH_LEVEL MSR. ] Signed-off-by: Ashok Raj Cc: LKML Cc: x86 Cc: Ingo Molnar Cc: Tony Luck Cc: Dave Hansen Cc: Alison Schofield Cc: Reinette Chatre Cc: Thomas Gleixner (Intel) Cc: Tom Lendacky Cc: Stefan Talpalaru Cc: David Woodhouse Cc: Benjamin Herrenschmidt Cc: Jonathan Corbet Cc: Rafael J. Wysocki Cc: Peter Zilstra (Intel) Cc: Andy Lutomirski Cc: Andrew Cooper Cc: Boris Ostrovsky Cc: Martin Pohlack --- arch/x86/kernel/cpu/microcode/intel.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c index 4471d418f28a..be830944178c 100644 --- a/arch/x86/kernel/cpu/microcode/intel.c +++ b/arch/x86/kernel/cpu/microcode/intel.c @@ -543,6 +543,13 @@ static int collect_cpu_info(int cpu_num, struct cpu_signature *csig) { struct cpuinfo_x86 *c = &cpu_data(cpu_num); unsigned int val[2]; + int rev; + + /* + * intel_get_microcode_revision() reads a per-core MSR + * to read the revision (MSR_IA32_UCODE_REV). + */ + WARN_ON_ONCE(cpu_num != smp_processor_id()); memset(csig, 0, sizeof(*csig)); @@ -554,7 +561,8 @@ static int collect_cpu_info(int cpu_num, struct cpu_signature *csig) csig->pf = 1 << ((val[1] >> 18) & 7); } - csig->rev = c->microcode; + rev = intel_get_microcode_revision(); + csig->rev = c->microcode = rev; return 0; } -- 2.34.1