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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41467C072A2 for ; Sun, 19 Nov 2023 16:58:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CEAFB6B0376; Sun, 19 Nov 2023 11:58:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C9A2A6B037A; Sun, 19 Nov 2023 11:58:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B627D6B037B; Sun, 19 Nov 2023 11:58:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A794A6B0376 for ; Sun, 19 Nov 2023 11:58:55 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 80C1F1A01DE for ; Sun, 19 Nov 2023 16:58:55 +0000 (UTC) X-FDA: 81475313430.08.11CBFA7 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf11.hostedemail.com (Postfix) with ESMTP id EA1AC40007 for ; Sun, 19 Nov 2023 16:58:53 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700413134; a=rsa-sha256; cv=none; b=geSnNknPNX7BUmcevXXUDhRo98CoNE+nT9LDeAp8Pav7B5KaQjJf3Igr3ecVRM+ZO54ZyO 63ZKDsCGIJCUC1jt4e0Te0+coozZS55k/4rP0GmVwzFXPrelD1zgOs/gJn5Hf6EDczpEyD 0xYRXWNMK0MrN+phVAMRhAgHX+PaW5U= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700413134; h=from:from:sender: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:in-reply-to:references:references; bh=73PJp88VNevjToANIe5rcUjOoPEQ0omOZVG2uCU4Qvk=; b=VGlxv6oqOqVBESboVKV4kA8W182Y8RhyzlqzlbrvJvBz+9J4nnUCbjrssQO/v7cyQOAp2l xSd/p1ONSfN4faGKbWWf30X3waUnNRgkCbWs1+pbWBPdmq4IwYDwNVbr+nxSz/a2653Yaf /iywNpPhzrfooxwJDHj6Saha58/4Gis= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8E171DA7; Sun, 19 Nov 2023 08:59:39 -0800 (PST) Received: from e121798.cable.virginm.net (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5A3EA3F6C4; Sun, 19 Nov 2023 08:58:48 -0800 (PST) From: Alexandru Elisei To: catalin.marinas@arm.com, will@kernel.org, oliver.upton@linux.dev, maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, arnd@arndb.de, akpm@linux-foundation.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, mhiramat@kernel.org, rppt@kernel.org, hughd@google.com Cc: pcc@google.com, steven.price@arm.com, anshuman.khandual@arm.com, vincenzo.frascino@arm.com, david@redhat.com, eugenis@google.com, kcc@google.com, hyesoo.yu@samsung.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH RFC v2 14/27] arm64: mte: Disable dynamic tag storage management if HW KASAN is enabled Date: Sun, 19 Nov 2023 16:57:08 +0000 Message-Id: <20231119165721.9849-15-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231119165721.9849-1-alexandru.elisei@arm.com> References: <20231119165721.9849-1-alexandru.elisei@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: EA1AC40007 X-Stat-Signature: mbnq7btjg7pwsb1csiz49fzemt3weuz8 X-HE-Tag: 1700413133-14381 X-HE-Meta: U2FsdGVkX19m0Pq56uNEKuDJM/Kb5FnfTpi0sJ6EQKpe9aZNNcpng+A24RbPZDdkfF+cYK7Pe8fbzZe9jtRL6kMFo/MLvs4hxZaQxx0ty4VeGLQbbQBLi/uDATNn3Kcj/yYFU2es5rgJX4OoU+sBXANvGX6fZhHiR7QwiHmXYIW9AdiRvkcY6cs84tlG8F5YSGSbsditoKjId7UNXfXFKvqmNl4tcBsF5fMNWU87On+N88RlZcmeVFC0ccdyyPYpzdbZ4yd/yPr8EAwDK5Qqnx8VTyRZ3o3wgDacqcTjNwbwxlJZmnt0zXth7vlqcs33eDK/KZhzQ8AiXOO6SJqMBGgHiqzfg4boEHlrwk6lMyMfwenBRLNb/t9qRnT37w86zSYPFexbwQ4AU0GCddO4/DjcvR+VAdrsU6d+Qid4rGxAp+mQaw1R6589TThmIJdCpcIMqZ5GMKlof0ax6ZHEAwh4zcb3pRgmkdtc9gUCRU93Y3uJu5e9XiF19qdhp08vzULbjCQCVRBCDsZ/ryj5AfTCtAsxnKKQ8lUpB9DDfQsx0WjRgLkzLo6AKWOUDju/fW7WrMXtX1RQr6h5vpGmxQiZCFyEL+WqMDVPijEzs7QI1UxcMxT+xj5XI7QO2xVs+z2S0umbpzBB23tnRODJ82mm0Va32Y93Ln6oq/kvsuPnHy395y86uQLMtXTXdvZ6dK6LxQ67O+8TJuUI3g69khmNBCsLqNGnisozqT94UdQSpqehECrEWczCpMHpKHHfZLvMXfOmtwPrIT8iiRs7hV8M4tqcxJiuU1rYbwHc3F7m5RyE+QTrpwQnbY6qcPIJyr5AAadWJ7B6y4JWiwRMEzU/QTznaT8a4iljXsM8VOAn/s5hoK+7MHW8vgzH2wTjclFs7P5WPDAR1mcEs8XYDbkbjWDDH23yaMpZdhYyzxTb37OKwCbUu24FssKQE9BzPpcCexRLyt9XKWpc8vr 9wFgGaAS 1J6/8mv3VXyIooj2CghiDAtmtancUk800KMBM+Gz1P1X2LoguhrLlyTmxwrCPqMcdyk8TkTJ5INXDQLmHTcuFzTkQZMI3On/ATgrWJzjvdX62ZkB1l8dJeNuI8rf7vK2uFZzCnVZVLkGMUvRdzytXt8GeD3JMSYzPLxz3i+yYru3u7OzRO5Ia5zJdzDxLnNwskY4r X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: To be able to reserve the tag storage associated with a page requires that the tag storage page can be migrated. When HW KASAN is enabled, the kernel allocates pages, which are now tagged, in non-preemptible contexts, which can make reserving the associate tag storage impossible. Keep the tag storage pages reserved if HW KASAN is enabled. Signed-off-by: Alexandru Elisei --- arch/arm64/kernel/mte_tag_storage.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm64/kernel/mte_tag_storage.c b/arch/arm64/kernel/mte_tag_storage.c index 427f4f1909f3..8b9bedf7575d 100644 --- a/arch/arm64/kernel/mte_tag_storage.c +++ b/arch/arm64/kernel/mte_tag_storage.c @@ -308,6 +308,19 @@ static int __init mte_tag_storage_activate_regions(void) goto out_disabled; } + /* + * The kernel allocates memory in non-preemptible contexts, which makes + * migration impossible when reserving the associated tag storage. + * + * The check is safe to make because KASAN HW tags are enabled before + * the rest of the init functions are called, in smp_prepare_boot_cpu(). + */ + if (kasan_hw_tags_enabled()) { + pr_info("KASAN HW tags incompatible with MTE tag storage management"); + ret = 0; + goto out_disabled; + } + for (i = 0; i < num_tag_regions; i++) { tag_range = &tag_regions[i].tag_range; for (pfn = tag_range->start; pfn <= tag_range->end; pfn += pageblock_nr_pages) -- 2.42.1