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 9BC31EE49B0 for ; Wed, 23 Aug 2023 13:15:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30454900034; Wed, 23 Aug 2023 09:15:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B43290002C; Wed, 23 Aug 2023 09:15:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 17C3C900034; Wed, 23 Aug 2023 09:15:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 0968290002C for ; Wed, 23 Aug 2023 09:15:59 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B62171C81F7 for ; Wed, 23 Aug 2023 13:15:58 +0000 (UTC) X-FDA: 81155417196.28.BD30DE2 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf28.hostedemail.com (Postfix) with ESMTP id F1D45C0023 for ; Wed, 23 Aug 2023 13:15:56 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf28.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692796557; 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=2ibseDnUSNnUHw0ddS9Rgi0iYzaH2wNqC2tvgyGRHr8=; b=sBlj0K1NSCyRnWG1bUTJgnoFIMcKlVPZSzpeZrM+0kXa1TLvcXabU6pTTCY5nBjw8MwmSD SXuAGvsJLC2lNbJkzNT4K3XaSXlvRlN3h3HDTF78CDyqocFy/b+9CSJvLh1L6xY6l/EzYO KWhhk0by+ROsvZO1HoQhnAUC+8M41Gk= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf28.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692796557; a=rsa-sha256; cv=none; b=WKuGxK3ZvVESxZMH69h+CqxuGNqexYgi7lKp0b1Blxgni4Mk6lkvskuUWzoFtvMcF3jnYn VccGcyBUQGqGU9tkpWcHSe1A9JaqYt62EqvkuAnzIPOUZiLILUvFTgjyasXh4HXKBeHY2K Q7phMcCawfLf5+tGFatVW2w3Cdlshzk= 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 ECD8715BF; Wed, 23 Aug 2023 06:16:36 -0700 (PDT) Received: from e121798.cable.virginm.net (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8BF703F740; Wed, 23 Aug 2023 06:15:50 -0700 (PDT) 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 17/37] arm64: mte: Disable dynamic tag storage management if HW KASAN is enabled Date: Wed, 23 Aug 2023 14:13:30 +0100 Message-Id: <20230823131350.114942-18-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230823131350.114942-1-alexandru.elisei@arm.com> References: <20230823131350.114942-1-alexandru.elisei@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: F1D45C0023 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: dpf64kcb6zasrd3zn54b573xexsebgzh X-HE-Tag: 1692796556-241486 X-HE-Meta: U2FsdGVkX1+AEfqjnrmxTTkQjimEYyEI1KX/+Ns45kk6vNsXzk4DBOv+PFBjJSxIp/ULM2sdKelScx9W30qlorIjwRYM0EzKicAsJsDdBQR7EidAh8F1LDuQdgPFYzk20o6peq+0CwBG9rrQQdUhIfueNoRHb+yLqwmbKUy8+Nmap1d8qAicgy6ATINY6aMbJcZup9tFxf/LHz/OkqcLWoQS3WfXw/8gmH9tPvUiq33l9nYMi9SOXrXWzQ2zbAv45yym/JD/Y4niHN/cy0pJA18jUd8AC++R6GYviOU9Uw/NPybYBREYUGwYgx0ficABb3jj9xuCv3vYE0bKAQiN0Wnfe2z2Lm+EIJY2ORdafhCeMZpNij6YK2PIA5XR+a+Ew67BNeSE3iBqnVh78GaYMrq4JsERbFSVelukiH390yrrd8j2J873/jnd64ViWB32i9vZk8ufDus2zhrvVV/eee3shdAIO23Z2yVSIMtQJaFAuWzcCPnck/Zw9FB/nGgWhoZOgqTg43AQNWC3v8xv4GnX8OSlR4V61UmzEatj7WqsOShNAUPFjd/NY3O46ph3tr5EyCgI5U+P6spBI5c002i54AbN5CJFB7aNdHZK6WKKeRDLfPFp/nR2RTIudQ9QZoW9cvyMI1T1E7guReZd4ggWmaC21J8QWYKKcWyybdyO5HMQm0JXSxg2iTeSWyj5Z2jFNoM2CMK5G2gSnDObwbiWfTxb7cnaPUZ32eDuwxnTKRgnoI7gh0oNTmib1EY9/uqhUkNQC+GqTkS136i75A2fbBFNCRYhqFnXwzmiCa1g7DrQfMGmHKTQOv5C+b0VL/VzN0MfjcrEuukVYcmQbkdUPIMtrVWxBnpZs9wcMimJaKVTJi/0vhMVtzgUTWLQb4Q8bc2ZhOds0Z3bO6HN+VXICYPswKwpI75hx1/Vh76hn1UKzCftNWLGw7Y/KvizfmrDuZ0sD0YvCeG58IX Kx9sTgX2 gGl+DYEHThNu5n3HdB51hzq+/vZf2EucyWidMeNq+uoRTR3sr5hIwK+rRBizr914oWW1kgJpKMpgQ7bI6614caRJFA0t7esH64Q77lu8Cz3EiT6gXdJ5YKeineltFCnICp0GEIb+gzCCAVVaTUFYVHL6Tj9pD/CuuZALGLsqe99Gcwyn0rAZbu4ZZetP1n36bjSwc 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: Reserving the tag storage associated with a tagged page requires the ability to migrate existing data if the tag storage is in use for data. The kernel allocates pages, which are now tagged because of HW KASAN, in non-preemptible contexts, which can make reserving the associate tag storage impossible. Don't expose the tag storage pages to the memory allocator if HW KASAN is enabled. Signed-off-by: Alexandru Elisei --- arch/arm64/kernel/mte_tag_storage.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm64/kernel/mte_tag_storage.c b/arch/arm64/kernel/mte_tag_storage.c index 4a6bfdf88458..f45128d0244e 100644 --- a/arch/arm64/kernel/mte_tag_storage.c +++ b/arch/arm64/kernel/mte_tag_storage.c @@ -314,6 +314,18 @@ static int __init mte_tag_storage_activate_regions(void) return 0; } + /* + * 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 enabled, disabling tag storage"); + return 0; + } + 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.41.0