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 63C97C433FE for ; Fri, 4 Nov 2022 16:23:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C0CCB6B0071; Fri, 4 Nov 2022 12:23:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BBC886B0073; Fri, 4 Nov 2022 12:23:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AAB626B0074; Fri, 4 Nov 2022 12:23:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9BB376B0071 for ; Fri, 4 Nov 2022 12:23:19 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 613E4C1567 for ; Fri, 4 Nov 2022 16:23:19 +0000 (UTC) X-FDA: 80096279718.10.BD4FAB8 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id E0CA040003 for ; Fri, 4 Nov 2022 16:23:18 +0000 (UTC) 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 dfw.source.kernel.org (Postfix) with ESMTPS id CB43562291; Fri, 4 Nov 2022 16:23:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3561EC433C1; Fri, 4 Nov 2022 16:23:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1667578997; bh=HnxmngU1KVgtQich1qdF/BW2KoU4yJ06AkHQpEggdoI=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=VqKSKrPpGIxkkS/qlbigYagJv0Aap3LqKf6eUZYOb++53kHk73IymIYEDKeogQiKT LPcRyEKB+eihiNTJfgEVkJNta1r79sNVEKsi5S9JTL5OS3PFXx+myLOHphBCKZTrLM h4JPNEv5MhMTFQN8/Tp+ZgbbqqlaOka36qKtTVpaf0SLCA0+vVct5sgvOdNAgNB0Qo lSGQ8ljDAVC7Qkwr1L2BYA0Yjl3bMY4gPLuN0F2gq0zBZGrPnY+hVLg8McmMDWAFGE De5RzNbbfXgDCpXHOJrh2qah+Seg7BE9ilJC2u3WXAuQxjf3cfdvgu7NBdPUR0FgPX Lwl+z1/0FtSFg== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1oqzTO-003pOc-OU; Fri, 04 Nov 2022 16:23:14 +0000 Date: Fri, 04 Nov 2022 16:23:14 +0000 Message-ID: <86a656r8nh.wl-maz@kernel.org> From: Marc Zyngier To: Peter Collingbourne Cc: linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, Cornelia Huck , Catalin Marinas , Will Deacon , Evgenii Stepanov , kvm@vger.kernel.org, Steven Price , Vincenzo Frascino , linux-mm Subject: Re: [PATCH v5 0/8] KVM: arm64: permit MAP_SHARED mappings with MTE enabled In-Reply-To: <20221104011041.290951-1-pcc@google.com> References: <20221104011041.290951-1-pcc@google.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: pcc@google.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, cohuck@redhat.com, catalin.marinas@arm.com, will@kernel.org, eugenis@google.com, kvm@vger.kernel.org, steven.price@arm.com, vincenzo.frascino@arm.com, linux-mm@kvack.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667578999; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fQ/qsSpzLrbTQoJb/VbCv6TAkAnxiza660Y9lWEgxD4=; b=CuJr/IVKMD0HdwyQuzjIlO6MILsVflQkD1e3thVQOgDnfbxwvXjxcWIJFYtwcgNfb/6U/9 aCPGUzc2Bz/r38LIixL3oqsfNqZ9jvDRyynyOExUklVeBXRgEN6jcQo0se6rel/DmUFgJx GeXYdzOKh7AmTcCp8Frmb1voxqRxSXg= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VqKSKrPp; spf=pass (imf17.hostedemail.com: domain of maz@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=maz@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667578999; a=rsa-sha256; cv=none; b=pKPx8B/IhRGPQtkhv/aRZ6cNDle0g66T/YB+YO5r0UkWBYsiJlwvHB2fpIO5aBXHU2J/hd 8F86+C3e3Q/1F7eGUnFMGQ4++vvbPlOqynaoduKXGUQqAE3wnRUVBR3SQcGK2F8q776/j9 l22oo2ZRgE7VUgG7fSnqeesC9v/DCYU= Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VqKSKrPp; spf=pass (imf17.hostedemail.com: domain of maz@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=maz@kernel.org; dmarc=pass (policy=none) header.from=kernel.org X-Stat-Signature: obuotpmwgure8nhm8msntxdkyi8ihwau X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: E0CA040003 X-HE-Tag: 1667578998-145879 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: On Fri, 04 Nov 2022 01:10:33 +0000, Peter Collingbourne wrote: > > Hi, > > This patch series allows VMMs to use shared mappings in MTE enabled > guests. The first five patches were taken from Catalin's tree [1] which > addressed some review feedback from when they were previously sent out > as v3 of this series. The first patch from Catalin's tree makes room > for an additional PG_arch_3 flag by making the newer PG_arch_* flags > arch-dependent. The next four patches are based on a series that > Catalin sent out prior to v3, whose cover letter [2] I quote from below: > > > This series aims to fix the races between initialising the tags on a > > page and setting the PG_mte_tagged flag. Currently the flag is set > > either before or after that tag initialisation and this can lead to CoW > > copying stale tags. The first patch moves the flag setting after the > > tags have been initialised, solving the CoW issue. However, concurrent > > mprotect() on a shared mapping may (very rarely) lead to valid tags > > being zeroed. > > > > The second skips the sanitise_mte_tags() call in kvm_set_spte_gfn(), > > deferring it to user_mem_abort(). The outcome is that no > > sanitise_mte_tags() can be simplified to skip the pfn_to_online_page() > > check and only rely on VM_MTE_ALLOWED vma flag that can be checked in > > user_mem_abort(). > > > > The third and fourth patches use PG_arch_3 as a lock for page tagging, > > based on Peter Collingbourne's idea of a two-bit lock. > > > > I think the first patch can be queued but the rest needs some in depth > > review and test. With this series (if correct) we could allos MAP_SHARED > > on KVM guest memory but this is to be discussed separately as there are > > some KVM ABI implications. > > In this v5 I rebased Catalin's tree onto -next again. Please double check Please don't do use -next as a base. In-flight series should be based on a *stable* tag, either 6.0 or one of the early -RCs. If there is a known conflict with -next, do mention it in the cover letter and provide a resolution. > my rebase, which resolved the conflict with commit a8e5e5146ad0 ("arm64: > mte: Avoid setting PG_mte_tagged if no tags cleared or restored"). This commit seems part of -rc1, so I guess the patches directly apply on top of that tag? > I now have Reviewed-by for all patches except for the last one, which adds > the documentation. Thanks for the reviews so far, and please take a look! I'd really like the MM folks (list now cc'd) to look at the relevant patches (1 and 5) and ack them before I take this. Thanks, M. -- Without deviation from the norm, progress is not possible.