Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp1739214rdb; Thu, 7 Dec 2023 07:35:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IGsMFpE5yPpjM8BilvebXowdMkkDQqiK6DbstUFGoBB5qF2gk2oJoRbi9bYB8Zj/1DILkpv X-Received: by 2002:a17:90b:4c0f:b0:286:815b:8c51 with SMTP id na15-20020a17090b4c0f00b00286815b8c51mr2520822pjb.44.1701963320806; Thu, 07 Dec 2023 07:35:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701963320; cv=none; d=google.com; s=arc-20160816; b=ecMDFOolkwG8JH0uGXhrxhxz0iVjsyBgPY1qULxTl/jwzlMonw/sBSv+rrAazs3dK5 3yUrGMl2mPRBKaZ84URMTxpy1GWoUPKHmSnmyeEFYTitEEwFaJS5xW2QqrhkSYCy7hGV bXGrj2v5mQcAOg/bX60vOvVoigCDB27UoOzTicGsilLr4iBgoCiWhr52n9ePZlIOf9UR JlAT6zHPmQlfS4hGACe3I25ETRxvFOZ8cx79XPqQsj8/u8wnruPPIkFiqsvYYLHKzo/s EXTnAoXa3O+pfTHonpmSCo6/kk9u6Z93SNls7dyA4J2UMVcmoj8A8Wn2YSHu2Soc3eOJ 76Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=GCZsoylEfcEdwCDgWMGB98cf6QKJY7fub7FE4C2RG/Q=; fh=bOKdIZVIossRPvUkSZa3mEFLStyv8NuT+GqG+gMmKoQ=; b=Tg1WzBILHm/QixO8K035udKqk14/yikvfx6yxTPUeukCMmKHegfV1mDLWh/B83WHFb IQAWjThmZcYNapXYoEolvosWrnw24RkTmaQSnQf/JV19m594/ZDLivhs0UWTY0g/+AF4 XO6hGESNtfCBXut16IXmwvbr4iSMCl4LKBXh63l4HHQPnTt6Ms5KtOwF4PNeKtm7rJwp D0QW60tTG6E8Gu4vBgg407xC9RCQ4iy4UFO0kh13Jgz2EvOGNfOQTIm1COskhlHJlEcq CTqJmx4sAG4q7IZrr3k+0gG05Y03Vq5f3DOjLPhbz3OjPOTsUXJf+loOzQsFu1qHwUOF lsxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@alien8.de header.s=alien8 header.b="j/AoVz+G"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=alien8.de Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id x20-20020a17090abc9400b00279020d1fb0si15427pjr.129.2023.12.07.07.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 07:35:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@alien8.de header.s=alien8 header.b="j/AoVz+G"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 1E5578026AFF; Wed, 6 Dec 2023 13:22:30 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442937AbjLFVV6 (ORCPT + 99 others); Wed, 6 Dec 2023 16:21:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45318 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1442930AbjLFVVz (ORCPT ); Wed, 6 Dec 2023 16:21:55 -0500 Received: from mail.alien8.de (mail.alien8.de [IPv6:2a01:4f9:3051:3f93::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 32D1DD5B for ; Wed, 6 Dec 2023 13:22:01 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 3F5A740E00C5; Wed, 6 Dec 2023 21:21:59 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key) header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 3UUOiSt2RwgL; Wed, 6 Dec 2023 21:21:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1701897717; bh=GCZsoylEfcEdwCDgWMGB98cf6QKJY7fub7FE4C2RG/Q=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=j/AoVz+GqAZwdRu/cmElvK6ULSbWUCxNGSLZDDOSjGO4T+BzPVvrD8Vtc56uIfa8A Y12C6vE7hfnuIkAje1JNt081OFegiMu7hP2omrCUgErkKI9lxF446ghZ+wp2a+XW1t fOaVmWi/57fR2fXU3xw/BCSVSudCNBAyqowuTM9j81A9dPdLZCg9jn280R/1hVoqPR oiTHYu86MU1imJCs1kSNAAIZG4RsZEsNDgg1hSFOLHdihBRGIxvzCdkTEcte2POPqP dvVctFNaF1ZFJUEv5IIU7gNqF7W/yvFundPIxpqbKAJ4ORGYKG/up0GXWCoKPOAkX7 rpkmic/K5PF7R9N6l5hzPkVfFbwIUh+2JSjLuomFZW2GyDzcwNhuhehT4jGErchQlG o/1KAfJsKzjgcMhJ+18PHehiBZZjarmSTo3LDe86TG3fzY+6d4lz7NG3ZbSXmZA/Ku 0+iKtNxM21l/CcuLNToRHPk+k+7+iGRErClOSOoycWWgyQBjCCVeyt5W11IQm3pD/T vnD9Nn4ph1AKrVnpAarUXNA75BKNdAmefQNr/lgv9spBY3DcaQ2albVijEt2ek2MaO jyI6gQPdd0l06AbAWmKUoKi7JXNAS4r4e6BSD6GpD3OoaPh364+mUnkaQIMuEWYbMd pRSTisjE62nq/YtDvsNG2Acs= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 5A47740E00A9; Wed, 6 Dec 2023 21:21:50 +0000 (UTC) Date: Wed, 6 Dec 2023 22:21:45 +0100 From: Borislav Petkov To: Jann Horn Cc: Thomas Gleixner , Ingo Molnar , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , linux-kernel@vger.kernel.org Subject: Re: [PATCH] x86/microcode: Be more verbose, especially about loading errors Message-ID: <20231206212145.GGZXDl6f/ho5olxNvq@fat_crate.local> References: <20231206172844.1756871-1-jannh@google.com> <20231206195814.GDZXDSVgtCWspEJx8Q@fat_crate.local> <20231206203158.GEZXDaPslvxtOS/gze@fat_crate.local> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Wed, 06 Dec 2023 13:22:30 -0800 (PST) On Wed, Dec 06, 2023 at 09:51:58PM +0100, Jann Horn wrote: > Ah, right. I guess that's decent for diagnostics, though I think it > would be nice to have a more explicit message about not finding a > microcode update, since otherwise you'd have to read the kernel > sources to figure out that you have to check for a missing second > line. I keep preaching scripting something around: $ grep microcode /proc/cpuinfo | sort | uniq -c 16 microcode : 0x800820d We also have: $ grep -r . /sys/devices/system/cpu/vulnerabilities/ /sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Retpolines, IBPB: conditional, STIBP: disabled, RSB filling, PBRSB-eIBRS: Not affected ... You could make sure that this says "no microcode" in the microcode missing case or so and then grep that on large fleets, massage results and dig into dmesg only on those which fail. Hopefully a small number. > Yeah, fair, I guess that's a fairly visible indicator that something's > wrong with microcode. (Though it doesn't tell you whether your > microcode is just outdated or you have no microcode for the CPU > family.) So what you could do on AMD (probably similar on Intel too) is to fetch git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git scan the microcode blobs in amd-ucode/ ========================================================== | inst_cpu | err_msk | err_cmp | eq_cpu | res | ========================================================== | 0x00800f82 | 0x00000000 | 0x00000000 | 0x8082 | 0x0000 | | 0x00830f10 | 0x00000000 | 0x00000000 | 0x8310 | 0x0000 | | 0x008a0f00 | 0x00000000 | 0x00000000 | 0x8a00 | 0x0000 | | 0x00800f12 | 0x00000000 | 0x00000000 | 0x8012 | 0x0000 | | 0x00000000 | 0x00000000 | 0x00000000 | 0x0000 | 0x0000 | ---------------------------------------------------------- ID: 0x0800820d, CPU rev ID: 0x00008082 ID: 0x0830107b, CPU rev ID: 0x00008310 ID: 0x08a00008, CPU rev ID: 0x00008a00 ID: 0x0800126e, CPU rev ID: 0x00008012 ID are the latest released patch revisions. You then compare them to the revision on the respective machine using that CPU rev ID which can be computed from CPUID(1).EAX (inst_cpu) using the table above. Table is also in the blob. In the example above my workstation has microcode revision 0x800820d and CPUID(1).EAX on it is 0x00800f82. So all up to date. :-) See, easy peasy. :-P -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette