From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5ECEBC46CA3 for ; Mon, 27 Nov 2023 12:01:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=ZyHxUAuInGVuSn3yyBJkuKhh5S/v7OTBX98PmEkdjMA=; b=CI9x3mQPBGt+wyj0nMTQ05y8UP EK4h3PcSHJCbA0GckAd0tCI13+b1M06e/x4vCGQTeaZD/tVIbgNzzILO+M7rrr5gYMKEw82+Wchb9 xcMv5K1bMrMTw0Yv1/IyWI5YExPdvIZO8cQ99QKDfa5owtbW4tuR8a3oH1RQZA7VBiFiYzxIOSQSo 6OjyQgxN/IHkpG+LUmmqFtauVbvE48UDSthL4ebZrYTBN36LrfwRHNqeCt2HrhepAOR/1+K6iuUG5 Boxv53v6uNDyr6E+6/qH3pD9CXOr0rFDgrQBo9T7bw7ip3/62E9LKYVXZMAB1vRGojlbmfqPgKv3h FjJEnyww==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r7aIe-002P3t-1O; Mon, 27 Nov 2023 12:01:16 +0000 Received: from mail-wr1-x44a.google.com ([2a00:1450:4864:20::44a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r7aIY-002P1g-13 for linux-arm-kernel@lists.infradead.org; Mon, 27 Nov 2023 12:01:11 +0000 Received: by mail-wr1-x44a.google.com with SMTP id ffacd0b85a97d-33306c2a005so249500f8f.1 for ; Mon, 27 Nov 2023 04:01:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701086466; x=1701691266; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=illwpV4ns/Zb9jIBFHqWUWbLFXz/BtCqVksmbuVGi2g=; b=UcU2Sef9IzcsvO8sKMLqMNrdBD92KZ9BHOTASAhn14dNsT2CtNC88Dw0Q2ZrJ9h49c kiqK1y+XlbsL9MNwFxijmx9b3LdrjxdeUEKUG/2e+UUM4IrLeQhzjZ9hgauvNA6fkGAG rHZZ0N/T4ZWO3efcax+zoskA7v+7Zb7VIllA2rMXVI6NKvFMxLCigywaFBDgEsEiW9lx D1Jj3htiJgt8bDyrIe3SOUJG1a3d8CivL7zt5CjbxH1US6tECS9Jk7J9onLPHF3FR5lY Xhgs3fxWfx03Cy6G0OEU4epbEC4gRRJlnfTLVRt7Gm5Qj+TF1jj4/x//QPXuP2itWY28 eXwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701086466; x=1701691266; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=illwpV4ns/Zb9jIBFHqWUWbLFXz/BtCqVksmbuVGi2g=; b=EayPS1qUH+XttguaXEQYoqfQL/RKdi4lGGnDWOg30G/K9tSGRtnC/guQXxSIEVTAN6 1q+2JvFA8kZksDK9LebKjuWxFSdob83/g9OCJuIZPigkod9AaKzqELXm3A8J65kUOfr/ Me0GWzCP3w6W/CLv6F637HfPxYJOcBFJXw5In9RRxCI+XxWLdIGBFslukIAYyjsmTMxP XbYn+caRdTtB115uDAthY3DHEbRedpQjVARJQh1txBipG1H/N5ISkPQzxYiwUJjAxWaj 0CZ/Gwi2k6DRlTHIsGju0R02CaXwFlkBCmt3/TmZLQ227YnK1zIIjpMjWC52GYO4Sp2k 2wVw== X-Gm-Message-State: AOJu0Yx8DfesHLXSxouhVJqIDT4lL8rIZ17PgOfqxdK/mHdFOLwwDo7z +S00uz+GxX166jVSJOI1YbpwIL0EZWi2boNWM/Z20iTZe/mUeS5DeQsy08JAAlBIeaBWXPLuM/l b+RldtCOk4dw9cSpbaPEG+dkmWRWoKtouhZs/TuB8N4sptG6TbO00z5wasyK9VrOzNwB7+mTHB5 8= X-Google-Smtp-Source: AGHT+IFypZmLXZxwpzulumyganOR2ds2ltfgG9EkC2U3l36bpJNmZCPtDd3zwmxDRc7hAZB+2qCpHlOv X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:118a]) (user=ardb job=sendgmr) by 2002:adf:b649:0:b0:32d:89ed:d4cc with SMTP id i9-20020adfb649000000b0032d89edd4ccmr169156wre.12.1701086465645; Mon, 27 Nov 2023 04:01:05 -0800 (PST) Date: Mon, 27 Nov 2023 13:00:51 +0100 In-Reply-To: <20231127120049.2258650-5-ardb@google.com> Mime-Version: 1.0 References: <20231127120049.2258650-5-ardb@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=1190; i=ardb@kernel.org; h=from:subject; bh=yvUrrhXUCClkOlwm3HgCY28b3ETcjkq5w480kxYoFAI=; b=owGbwMvMwCFmkMcZplerG8N4Wi2JITWl5XNw3rSNyySOhF64nZqnrhYj5MGXf77j/a1rRY8KV qqpz5neUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACayM47hn/GJvWe/fDqiHql/ x+DhTIlTUbGe74+e8HJ9d0VAMixgcjLDP/Wd6xSu8u5512O0bbnkbB+l8q+FG599NlqzofnQ5de eDjwA X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Message-ID: <20231127120049.2258650-6-ardb@google.com> Subject: [PATCH v2 1/3] arm64: Avoid enabling KPTI unnecessarily From: Ard Biesheuvel To: linux-arm-kernel@lists.infradead.org Cc: Ard Biesheuvel , Catalin Marinas , Will Deacon , Marc Zyngier , Mark Rutland X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231127_040110_379635_C74A4792 X-CRM114-Status: GOOD ( 14.56 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Ard Biesheuvel Commit 42c5a3b04bf6 refactored the KPTI init code in a way that results in the use of non-global kernel mappings even on systems that have no need for it, and even when KPTI has been disabled explicitly via the command line. Ensure that this only happens when we have decided (based on the detected system-wide CPU features) that KPTI should be enabled. Fixes: 42c5a3b04bf6 ("arm64: Split kpti_install_ng_mappings()") Signed-off-by: Ard Biesheuvel --- arch/arm64/kernel/cpufeature.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 646591c67e7a..91d2d6714969 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -1839,6 +1839,10 @@ static int __init __kpti_install_ng_mappings(void *__unused) static void __init kpti_install_ng_mappings(void) { + /* Check whether KPTI is going to be used */ + if (!cpus_have_cap(ARM64_UNMAP_KERNEL_AT_EL0)) + return; + /* * We don't need to rewrite the page-tables if either we've done * it already or we have KASLR enabled and therefore have not -- 2.43.0.rc1.413.gea7ed67945-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel