Message ID | 20240125164256.4147-26-alexandru.elisei@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 D1B14C47422 for <linux-mm@archiver.kernel.org>; Thu, 25 Jan 2024 16:45:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 69D856B00A6; Thu, 25 Jan 2024 11:45:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 627C36B00A7; Thu, 25 Jan 2024 11:45:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4A0726B00A8; Thu, 25 Jan 2024 11:45:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 34F0D6B00A6 for <linux-mm@kvack.org>; Thu, 25 Jan 2024 11:45:14 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 06AA31408D8 for <linux-mm@kvack.org>; Thu, 25 Jan 2024 16:45:14 +0000 (UTC) X-FDA: 81718408548.09.9E2EDB6 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf10.hostedemail.com (Postfix) with ESMTP id 58D3DC002F for <linux-mm@kvack.org>; Thu, 25 Jan 2024 16:45:12 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=none; spf=pass (imf10.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=1706201112; 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=6SFhHxHCIfL6RZYw6/4SEfw42kw/Q+SBxFbIBdpiS3E=; b=6iFlauL3ShdV9S78aCV0MX1P13ZsklpsHPGTutofJe9TCmqhbF5H+ODOjj7cjQqK6kMmzQ q0he7a7oL9yKJwCRJ0B2U3ZjQVVdl+CpE3aWcYc/YsUVL/uaLvzFzFaomVmG7mAYhhMbRz wCbWqJ8R+iIjsmt4svaH3b776+vKNXE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706201112; a=rsa-sha256; cv=none; b=rgWN4znQS2y63gBbMDWdLK8lZp3zKfmaeHtiYs047UNI2/fg1yoIkkN3OKo3UW7NMHCq36 TQMDRtQiZsqEgwiHceRS0oRSEzP5C7uIY8eVBKjL+CiGdE4ja4+3zKFrqDrSeYZ8uqSduY vA5XwywyL66PPy5FMPABpoLy9PzrF5Y= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none; spf=pass (imf10.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 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 08EF7169C; Thu, 25 Jan 2024 08:45:56 -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 1C34E3F5A1; Thu, 25 Jan 2024 08:45:05 -0800 (PST) From: Alexandru Elisei <alexandru.elisei@arm.com> 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 v3 25/35] arm64: mte: Reserve tag block for the zero page Date: Thu, 25 Jan 2024 16:42:46 +0000 Message-Id: <20240125164256.4147-26-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240125164256.4147-1-alexandru.elisei@arm.com> References: <20240125164256.4147-1-alexandru.elisei@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 58D3DC002F X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 184nxcg6mmihxd1zotn5u85apc9gjnjt X-HE-Tag: 1706201112-739576 X-HE-Meta: U2FsdGVkX1+OioUbyzjaxKHatQ1aA26/35itWMjtW+uqvL6EHG+8Ddr2VoXnzC4bZqYFpdCXVI1KSWKe8QxexTYD6au3dt8fQyJI2iiqHS2nMVSLhcYoOO7isStaVSp2s50UbGcQJJwCvpP95UtnpDeEHXHj8hFGJ7MfTNm4R5JmQgSXLgovoqqWThU4O9hXL49yLjLj6XOBMkN/YZc0nSPwnIVDC91IFxL3jpZEY72eW6b/tI7/BMcRYqsr8MTpvUaW531W1d4qDEav0RxHQfO2t+Pgu3HAfjJz3Q5DOdD6aGXRNbHe2SsggEHhUCjpmbe3vcfHgDQZSunkmz4BHlz31f92EI4wrNF+1EcciE+ZDUtH+pUrfsGp1B4LVFd/JtW5XOGtEdjN1peBMKxmnFCbP385YEafEbQcT4wei+aNUOHh7TFu8iC2OJ9L86PpPcJjt3OaEuL5zhelj8fbrw/kHWLeUXiUP0X70Vy+Ft6y6dneAFrTtsHvFZIpMR8BZ7ZpZJLYXkHmFlNdvU8Pmnjgh4Qa+c6Y8d4S4a1Ub9Cv4f2oyyGT0mB9Ri/6i4H4NmxWj2FdwI1cSKrdPwTiZuha9WLT2htnGxFDQ0SfKPM71MsY2JEUMDE4RG/UHxulJU+xAEEBLupAzI4FwF3yZUJvqmdkM0OHQg17Qbs2fP+x3pZD75u7u03m/t/K/npcWUYQaFUYtTDFFZobn5Wwp8WEgivUNCUupymL/ATgSXH4OdcyE834rtmvfXi6qsLviDGvXdNy3aWCfNy/9+uW6rOa4D8E/5cxv65TVJn2TMJLEPLbKjIVhJbrHt5yQ/+LxuBRy9qePuwsUgGJkCoffSuBmR0Y8pBOnryp779DKeO1vsD6beuHgwVTGUzLrzbfrTEqQtR85Lqsd1noVblzXBnJud/a2eEh+0XYDWTUnGECpmi0HH948sMgbJd9IgLZpOgL787swD7PeaXC8+Z sRq7SZxO zpWkoIwWKs/MdKvxkCV7CR+le0Yx/cSztwWoLaFlXgzqhwjqXLbc36HH7YUtMua0zkBponY5TphX+G4y5IA/VrsfTi/QtQqXyhtEgqYeFrrU4o5WZIWhPf4jLww2DECLXiSwvQwYYghNj0xRIRWxaBi183qYOKXyLq+0b 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
Add support for arm64 MTE dynamic tag storage reuse
|
expand
|
diff --git a/arch/arm64/kernel/mte_tag_storage.c b/arch/arm64/kernel/mte_tag_storage.c index 8c347f4855e4..1c8469781870 100644 --- a/arch/arm64/kernel/mte_tag_storage.c +++ b/arch/arm64/kernel/mte_tag_storage.c @@ -363,6 +363,8 @@ static int __init mte_enable_tag_storage(void) goto out_disabled; } + reserve_tag_storage(ZERO_PAGE(0), 0, GFP_HIGHUSER); + static_branch_enable(&tag_storage_enabled_key); pr_info("MTE tag storage region management enabled");
On arm64, when a page is mapped as tagged, its tags are zeroed for two reasons: * To prevent leakage of tags to userspace. * To allow userspace to access the contents of the page with having to set the tags explicitely (bits 59:56 of an userspace pointer are zero, which correspond to tag 0b0000). The zero page receives special treatment, as the tags for the zero page are zeroed when the MTE feature is being enabled. This is done for performance reasons - the tags are zeroed once, instead of every time the page is mapped. When the tags for the zero page are zeroed, tag storage is not yet enabled. Reserve tag storage for the page immediately after tag storage management becomes enabled. Note that zeroing tags before tag storage management is enabled is safe to do because the tag storage pages are reserved at that point. Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> --- Changes since rfc v2: * Expanded commit message (David Hildenbrand) arch/arm64/kernel/mte_tag_storage.c | 2 ++ 1 file changed, 2 insertions(+)