From patchwork Thu Jan 26 17:25:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Guo Ren X-Patchwork-Id: 48818 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp396590wrn; Thu, 26 Jan 2023 09:33:28 -0800 (PST) X-Google-Smtp-Source: AMrXdXta2fhny928CQbHR0rPQefqZ6bLdYsshmFHS9dXrtN6PTpF1fjZ8JJHweLqAOFJBsGZVWKF X-Received: by 2002:a05:6402:5208:b0:49e:4459:36a4 with SMTP id s8-20020a056402520800b0049e445936a4mr41885886edd.35.1674754408679; Thu, 26 Jan 2023 09:33:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674754408; cv=none; d=google.com; s=arc-20160816; b=IQbeYsQ/fRhlDwiac6Tiu/ekXN7lXHzbS3oK4eXpfAxWTtPy8MBbksmeNtYhV/tMzq pTBZdIgfdt01ZuY56dyzZnPPl2+X1T8muYYOT13tuFw7ljK3qmyCU8WVYn5h+zANHshd ybE++IHSmXblrvWTAzBTQVJzPQxq6nNoH2lann4NltG29X6XlIVXBPKema38uCUwqgod F6RrqsMW2lQ1pGlAnuLV9AtHsqBg0Pk32kfY2w5WTrq4fWLmIqzGULE9PRdHub9a9JMF /aWobzIXAjZjFI2kIlTg7/7UCIV20wb9lyKJVVL4Itt1W4JA4mwNc41LkZIAVjCAepzD jZlA== 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=ybBh2iRtj6cXkTaN1/AfILA9cFoLaPn/oIlUM/j9anI=; b=owkB+YcJn7U1W3uOtpoGrVI7MyhQZ+X2zYyYO1mN0CbPSEmmC+pcGXR2UnHDe8FlBZ Ql0gGKkIaKEuCGvkftM3IGu4X7cYZtccmx27ogSUsQUX+z0sxDXw454Q3Y8Ot+s1w2uy MN48rW22LiyYzHhy9ZMIK7p+Ah6rBGQ8kzlGz8wCaOxJiQS7vsz6RALK29kC8YyuiS48 eDcSm6tcFJ6uUSxjpQ0OEAueZ7cjmrfX/xJzZEFctvuhJ67EJeMVJCWgW4Pt16og/6K6 xcTpWBGb9ZG55oJC98RWaoEA8Ue/Nm6h5oLLgoG4T1VFl58MtaeTVB9tmbDEjdW89olX fNrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=J3iZOXek; 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=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x6-20020a50d606000000b0049df78b34efsi2331235edi.57.2023.01.26.09.33.04; Thu, 26 Jan 2023 09:33:28 -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=@kernel.org header.s=k20201202 header.b=J3iZOXek; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231782AbjAZR0Q (ORCPT + 99 others); Thu, 26 Jan 2023 12:26:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59182 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231590AbjAZR0F (ORCPT ); Thu, 26 Jan 2023 12:26:05 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1ED4F6BBC8; Thu, 26 Jan 2023 09:25:58 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id D0B91B81E0B; Thu, 26 Jan 2023 17:25:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 080C1C433A4; Thu, 26 Jan 2023 17:25:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1674753955; bh=TdYTdj6H5Qbtgmh1te0rA9iZLTDxbWp//XNrh7RF5Pk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J3iZOXekCvBiCWba07x6I1CFrKnGLzx4W949DYUD4tbysmB01KS/zW1L5l+gdxJnJ tJ0OJgDM7t5AKS85BDbjSEGHqB1UbmMd/S/ayS4pc9hLoBhyE0UOdBrQuNyKAYedWF TIDU1k4bjOsm02o/3YwpiZljbwjQQhNEBxkWxNI0h9TSSLl7/k6/YHvHqnkO0s7HRC JvuyVOhmuRl84ApJkYwW4AxtwYsTwgTBvsuwWK7PbU4hP7G+ku0P6UIcl2USWPvNl4 Fmd/3YCdha0eVQJkYXL8JbdLUhkFP7JBvMKSs6l6TJNOL4l9V1QX+GrqzTcIqG/nNv 9dv5AniutXUCQ== From: guoren@kernel.org To: arnd@arndb.de, guoren@kernel.org, palmer@rivosinc.com, tglx@linutronix.de, peterz@infradead.org, luto@kernel.org, conor.dooley@microchip.com, heiko@sntech.de, jszhang@kernel.org, lazyparser@gmail.com, falcon@tinylab.org, chenhuacai@kernel.org, apatel@ventanamicro.com, atishp@atishpatra.org, mark.rutland@arm.com, ben@decadent.org.uk, bjorn@kernel.org Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Guo Ren , =?utf-8?b?QmrDtnJuIFTDtnBlbA==?= Subject: [PATCH -next V15 3/7] riscv: entry: Add noinstr to prevent instrumentation inserted Date: Thu, 26 Jan 2023 12:25:12 -0500 Message-Id: <20230126172516.1580058-4-guoren@kernel.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20230126172516.1580058-1-guoren@kernel.org> References: <20230126172516.1580058-1-guoren@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, 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?1756107279085228348?= X-GMAIL-MSGID: =?utf-8?q?1756107279085228348?= From: Guo Ren Without noinstr the compiler is free to insert instrumentation (think all the k*SAN, KCov, GCov, ftrace etc..) which can call code we're not yet ready to run this early in the entry path, for instance it could rely on RCU which isn't on yet, or expect lockdep state. (by peterz) Link: https://lore.kernel.org/linux-riscv/YxcQ6NoPf3AH0EXe@hirez.programming.kicks-ass.net/ Reviewed-by: Björn Töpel Suggested-by: Peter Zijlstra Tested-by: Jisheng Zhang Signed-off-by: Guo Ren Signed-off-by: Guo Ren --- arch/riscv/kernel/traps.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c index 549bde5c970a..96ec76c54ff2 100644 --- a/arch/riscv/kernel/traps.c +++ b/arch/riscv/kernel/traps.c @@ -95,9 +95,9 @@ static void do_trap_error(struct pt_regs *regs, int signo, int code, } #if defined(CONFIG_XIP_KERNEL) && defined(CONFIG_RISCV_ALTERNATIVE) -#define __trap_section __section(".xip.traps") +#define __trap_section __noinstr_section(".xip.traps") #else -#define __trap_section +#define __trap_section noinstr #endif #define DO_ERROR_INFO(name, signo, code, str) \ asmlinkage __visible __trap_section void name(struct pt_regs *regs) \