From patchwork Wed Feb 22 19:10:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 60658 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp765352wrd; Wed, 22 Feb 2023 11:21:27 -0800 (PST) X-Google-Smtp-Source: AK7set/NL8zIj9xxFLZq0DQBTI1l1hizUCx6sePqH45ovFMu5XTM1KEvUFttGfdNCOKfUMnDLMMS X-Received: by 2002:a17:907:6e8c:b0:8af:3739:bdd7 with SMTP id sh12-20020a1709076e8c00b008af3739bdd7mr17628731ejc.27.1677093687674; Wed, 22 Feb 2023 11:21:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677093687; cv=none; d=google.com; s=arc-20160816; b=qUFuomH9RJpvn10ZkT4+3u+MDUlQI7Bs8qxPx48dmfRsY33wk7uzIe5eDXzz3fU0YK I95c9cmH0fDv2gVc5SPL7eXivVK3ddHbEs9D3vw0FeTmJax70r7Ami+nRegppVBKffUI sS53W8CFUnzKDwhF2ODawqM3hgqEz3orziXUWpJCYZd/hiC76KU/6+HHBSJI9FTF7ze7 CVsonMF0ZOV+fQRlXTyGZlf5aDIvbXTwTG+tslVVevaLArxZMkgBwKXCohYvV8g4UZjH VpZuelFS64RqYZWBDy/2Tj52ea1umqCnN6mEorCQxdo6gnYv+2P7rB+qJfy/DzBlwc6Y +wtg== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=iMJjMd+hswT3hOigJvQ7teRpwWHUSDtS9HLQuxEDxjs=; b=HuUvjDHA7j3TxuM+hEVvIBw7AuYHXUQ2toOnPa9gOhm4UoOfibNbE0veszwGpVyvDt 9mkJuIZdyvksOpcuASZXylVmZpkrxieY7HOoAmNQ76zwNhTIU5dlNCqvb2z+jijwnHun jMmR8uSMAc3YLHNI0sua1e9fYpsCVGgY6CFTJakN5ET+dPMJRNFkf8e7wBkRJ+LDSYqj Vsb+sV8pcZyp0nS3phCzCwYxGAEBF6WQ9y3NI7E4zBWpIyOESW55LSOUrVGYuiFz3d8L pYQBxhvAe8fpmmd/zb8lAHNHEu5LGIURrFcFpDpmyGOPHYvo6hKVdqLBkzE7aFJ8GwKd MfFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@alien8.de header.s=dkim header.b=MMSQPCah; 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=alien8.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l13-20020a170907914d00b008b8ae79a059si15730020ejs.369.2023.02.22.11.21.04; Wed, 22 Feb 2023 11:21:27 -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=@alien8.de header.s=dkim header.b=MMSQPCah; 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=alien8.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231500AbjBVTLH (ORCPT + 99 others); Wed, 22 Feb 2023 14:11:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45284 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230402AbjBVTLG (ORCPT ); Wed, 22 Feb 2023 14:11:06 -0500 Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE8962A99E for ; Wed, 22 Feb 2023 11:11:03 -0800 (PST) Received: from zn.tnic (p5de8e9fe.dip0.t-ipconnect.de [93.232.233.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 42ECA1EC0688; Wed, 22 Feb 2023 20:11:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim; t=1677093062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=iMJjMd+hswT3hOigJvQ7teRpwWHUSDtS9HLQuxEDxjs=; b=MMSQPCahpS0D1bVt/mq+6wal33RtHXxzi2fjFr+5DuyM4D3OtEKDH+RIdRKHLPOZKg43G6 DnxznJJ1yGbJOqZjkaFuagjOf4b3R/+SMlHoxpjfGTWzVlvDwUhiDcU4bKZp8QE6PcWApX gnRRGL9+tJlxmcPWF3srNoLxboFeF+g= From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH] x86/mce: Always inline old MCA stubs Date: Wed, 22 Feb 2023 20:10:54 +0100 Message-Id: <20230222191054.4701-1-bp@alien8.de> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1758560190564492242?= X-GMAIL-MSGID: =?utf-8?q?1758560190564492242?= From: "Borislav Petkov (AMD)" The stubs for the ancient MCA support (CONFIG_X86_ANCIENT_MCE) are normally optimized away on 64-bit builds. However, an allmodconfig one causes the compiler to add sanitizer calls gunk into them and they exist as constprop calls. Which objtool then complains about: vmlinux.o: warning: objtool: do_machine_check+0xad8: call to \ pentium_machine_check.constprop.0() leaves .noinstr.text section due to them missing noinstr. One could tag them "noinstr" but what should really happen is, they should be forcefully inlined so that all that gunk gets optimized away and the warning doesn't even have a chance to fire. Do so. No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/mce/internal.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/mce/internal.h b/arch/x86/kernel/cpu/mce/internal.h index 91a415553c27..d2412ce2d312 100644 --- a/arch/x86/kernel/cpu/mce/internal.h +++ b/arch/x86/kernel/cpu/mce/internal.h @@ -244,11 +244,11 @@ noinstr void pentium_machine_check(struct pt_regs *regs); noinstr void winchip_machine_check(struct pt_regs *regs); static inline void enable_p5_mce(void) { mce_p5_enabled = 1; } #else -static inline void intel_p5_mcheck_init(struct cpuinfo_x86 *c) {} -static inline void winchip_mcheck_init(struct cpuinfo_x86 *c) {} -static inline void enable_p5_mce(void) {} -static inline void pentium_machine_check(struct pt_regs *regs) {} -static inline void winchip_machine_check(struct pt_regs *regs) {} +static __always_inline void intel_p5_mcheck_init(struct cpuinfo_x86 *c) {} +static __always_inline void winchip_mcheck_init(struct cpuinfo_x86 *c) {} +static __always_inline void enable_p5_mce(void) {} +static __always_inline void pentium_machine_check(struct pt_regs *regs) {} +static __always_inline void winchip_machine_check(struct pt_regs *regs) {} #endif noinstr u64 mce_rdmsrl(u32 msr);