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 E26D4E7719A for ; Wed, 8 Jan 2025 12:24:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D5016B0093; Wed, 8 Jan 2025 07:24:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7853B6B0095; Wed, 8 Jan 2025 07:24:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64CFE6B0096; Wed, 8 Jan 2025 07:24:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 480B66B0093 for ; Wed, 8 Jan 2025 07:24:24 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C0EC145471 for ; Wed, 8 Jan 2025 12:24:23 +0000 (UTC) X-FDA: 82984202406.25.2A3D04A Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf03.hostedemail.com (Postfix) with ESMTP id D6D372000D for ; Wed, 8 Jan 2025 12:24:21 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=yfFDdfMX; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of aliceryhl@google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=aliceryhl@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736339061; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UT/U0933vcmbadDNyF5pn5YyVzSwGFoojlmR9CmQa/c=; b=SQuG/UmBrNs3mOk3lun7ivliQHUvU4lGQizmkIC2DOy0e2Y9Id7Kc13WELNbTskKfEkg5b RvwZgDcf0TZFDTxFCpryPPDMcooItQggfHUspU8D8FGEB9nK7Hy1lnmsYAJltbm+VPsA2x aVaWCeet/V0vowQNplV/d2i8VP3ZbYw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736339061; a=rsa-sha256; cv=none; b=GuWGF57XQF9kuFu9SvO4waSK12sF2UQkNVnsW7H36K8RndU4TTf9aJPCOFj07tq5wfcdYs Q9N2jafkImnUS0LfrzibgSw/vfmjmscoKHF7ANTmtIiT2dRgOufezhKain3RylE6WcPdvS NBWKwOJXLh1F0Tpcs0I1B/6Gd2UOI48= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=yfFDdfMX; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of aliceryhl@google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=aliceryhl@google.com Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4361f796586so171038595e9.3 for ; Wed, 08 Jan 2025 04:24:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736339060; x=1736943860; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UT/U0933vcmbadDNyF5pn5YyVzSwGFoojlmR9CmQa/c=; b=yfFDdfMXJQ9oJJ3UGFKBV1zKTF4QVZNUXCR0JoTK5M07dAdF+CedkRd2mrwnMZ+EFp kZYSww24xtez2zDw8y8dZsMxPHGEp+s07KJUGDkmCzThfY4HcZOXg/NHcsidN0ui3iNB GcoZTI6gVhX36REJuM1GyW9F4muMlKcXYq54Y8d0+EqguwjtOwtui1zFHVO7TMlY78/P s9aCY8NM+IXB4msZU3eN1mfrpvQpkOTpnG5aoZ1rut0HEx52hO6M1P/8fKS2DkTm2E23 uDOhCdFPQOz13m1EG2A8g6WE1G419gukfZHyMzzihy7ulJ6jLCeB4gjRJFvMSraPhTW3 TQCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736339060; x=1736943860; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UT/U0933vcmbadDNyF5pn5YyVzSwGFoojlmR9CmQa/c=; b=X7IJ6yTf8G6zCbZJj9F+vuF+RNiO9ijwLdYYL3mXNYVqBkplCaQSbt5DS8i46PyesC zWP8WcCabjIXDHCZQpSj5ipE0PxZXLCvIe3D9KqR3iOXMm5Kxr43xCJftYSDayMc1gr/ S/KRn7OAKT6Y6ZseNPmLxG+eotusR4Bb1cMGJOicUD/iH7ZJna3gii/h4frpC4T+gvXL jtg1FGxK7CoEhpOSyWgpqJOodsES3X4cxsB3OKhK3ZujoeIkLYCjNwSyKPAsAqKQCvMk grFEKDXIpUfD14exAuKOEGj7+Gb1tJgdu2W/+qrGZPS0XZENAVPciCOvWWezYalvBvl9 RPaw== X-Forwarded-Encrypted: i=1; AJvYcCUv8ZWY/X8LugWUo/YWLoGHgrRU3dE1S5kEhOhDCw2C8Uu701SRD9NeYSCJ2/GItmVFHrBOZai+lw==@kvack.org X-Gm-Message-State: AOJu0YwqXEz7c9EP0ZluTnPBn+XBWnN/Fw2qHC+SA3gwoYcUSv85K/VP LZNARg7WaoW/I55qX7at0hx1EThcwkelimfwLfBJ0S4lpdxu8EOIpQ5e3Xiui9j+cWBpgUDP4qe LX9RYTp1I4aLktgeghHLM+Txvy74c74lydLao X-Gm-Gg: ASbGncta4FkZEsg8obucTmsvCh0lSG3IWeFjv9xO5c3AMqQL0z0Pl2X8hPRMnk2F6iV dcpQVCe/CDLKfM6QrUcD6uAf0+wSV7htUiGetz68SmHvIwHfmOX905uCYTGr5adAPAYvT X-Google-Smtp-Source: AGHT+IGKR28tzizsYpjHyQGlOMD/empU53ArcVi9noDpkZERD6AKGOGae78aovTQolruhnC4UVoDkhns6ufP2j1VxdE= X-Received: by 2002:a5d:584c:0:b0:385:f6f4:f8e with SMTP id ffacd0b85a97d-38a873573ccmr2019898f8f.50.1736339060388; Wed, 08 Jan 2025 04:24:20 -0800 (PST) MIME-Version: 1.0 References: <20241211-vma-v11-0-466640428fc3@google.com> <20241211-vma-v11-6-466640428fc3@google.com> <87zfku8xm3.fsf@kernel.org> In-Reply-To: <87zfku8xm3.fsf@kernel.org> From: Alice Ryhl Date: Wed, 8 Jan 2025 13:24:08 +0100 X-Gm-Features: AbW1kvYVFFCagGoeLxLjiR8WPkakRaYACgA2t9Yv-VrYqFS8-3mtxX2oKuD11DM Message-ID: Subject: Re: [PATCH v11 6/8] mm: rust: add VmAreaNew for f_ops->mmap() To: Andreas Hindborg Cc: Miguel Ojeda , Matthew Wilcox , Lorenzo Stoakes , Vlastimil Babka , John Hubbard , "Liam R. Howlett" , Andrew Morton , Greg Kroah-Hartman , Arnd Bergmann , Christian Brauner , Jann Horn , Suren Baghdasaryan , Alex Gaynor , Boqun Feng , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Trevor Gross , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: tt6osz3gk53ajtfkibxspp56y7txzjcj X-Rspamd-Queue-Id: D6D372000D X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1736339061-921508 X-HE-Meta: U2FsdGVkX18I6NPymCAdWI24vxNpTiFmNFzUhU6sXb35FbTf2EmiqblFJlFmgtVkWQ0lR8s784PpsSPopxjdM9prJmNhlGI9lBg1dRS9r1Z2C1D2SltSSORSMhCEnKInHKoJ+ycXJTuWZU6fzCWqcJibiUkZBckYuw79ZPO44BPQSVISBosdWK8Jl3iAfXXJ1kzlF0MHKoSnRvR2XUoamaL1Tdlo8+0TFsbEcMTVSWZXzsuWE7MFX1bRKSItxcq18w5Qe2w/yg6On5kq2qws2dAmhZZDIATM82wzF6v06hwCSRMAdvy2bFeCDlAY+77f39+A/FpxJ2HBMMCQp+5ZmuRwKNvaWJQ1eAXim9NrxP+k0NSQWyfSBiKDAY23gz/AM7gStdmpw1c520usGJ91XZ5Dd6ImTcRHxExTDUYjKA5cz2hOwazXNbVpiqcvj/uxpEVfsuoQ1HrrB5xI5UaJFQct3T1njjEBAMhj0CRJxGPYzQIXzW2xoT1d+jCml2RAbdBOXSUcTt1gzaLrvXS0ph/KidXXkZIGQX9knO1RZ0GdU4lZA0F/9b+frJD52UNKTTuIVQYTRS15ucMxkP185ocKCoKEQg4TKti3+6jmtj5DcF/bZRL3oJUJT81spHYhtMqqD9vkUOfsyAymc2XYKYY8/7BzxICXXQBfmJGdGyqAaiyZeUAyLj3Io24RMU6+bC7lWf+3UmYACuDefnDBRDsJRdF3HeTKNqa/LmwJ3UVPCfcxIsA51ePjnd6/cohxuZyhm0poujTI3eG5XoaTlAGSbKZZAM+6WPrRFI/MXOJq+swGecoxARenmassUSfmXHmubl0MGSag3lTx2Fi8cOAASThW3HEXaF7ux38t/T/VNZVBCcJcwtd+aYwT0chdpU0XsDUO5adn9CY6sZidQvoxtJrwz3ug0jyMgeKi4Ljp/zISWMpAy3EDSZAhsScUgnSKHio2uRvV++AOL7K mTG4l4E/ QizySsEnYUHv0+/CLtukkZ/qBxg5mvxOjBXQO6VHGOu5Um5LVrqTVwN4U6mzJMWoFC+Sx4wCt6r2+oTEZ7iGhTmDvVe0KWRkGhP0TeRbw+LK8cdiEi5YP8AhLT/uEc0SJUG9euDYOpKNbYOQ7ox0DOb+JjwTbL7xmvWuGxbp1Iqfg/xy0aga7W9a1pXftkFWrFBpffg+1hHJCqH9bb4Pg75NJYqGWBpkKMyw/gX5yIdIjFLDTuKKlPUWqR4V2RCZYTFJ9Wc4WPYUxaRi0Vexr3QC5B/JWsx3e8MmgjQoF8/5J8TmEM+hdjIYIkRo0mIQfDGCDwnNfAgV0m5rkuaH45f5L66z9f41/0pB3otLuT5I+YkIB0SmZWfc+Sr3zCZWhWJ2j X-Bogosity: Unsure, tests=bogofilter, spamicity=0.480667, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Dec 17, 2024 at 10:31=E2=80=AFAM Andreas Hindborg wrote: > > "Alice Ryhl" writes: > > > This type will be used when setting up a new vma in an f_ops->mmap() > > hook. Using a separate type from VmAreaRef allows us to have a separate > > set of operations that you are only able to use during the mmap() hook. > > For example, the VM_MIXEDMAP flag must not be changed after the initial > > setup that happens during the f_ops->mmap() hook. > > > > To avoid setting invalid flag values, the methods for clearing > > VM_MAYWRITE and similar involve a check of VM_WRITE, and return an erro= r > > if VM_WRITE is set. Trying to use `try_clear_maywrite` without checking > > the return value results in a compilation error because the `Result` > > type is marked #[must_use]. > > > > For now, there's only a method for VM_MIXEDMAP and not VM_PFNMAP. When > > we add a VM_PFNMAP method, we will need some way to prevent you from > > setting both VM_MIXEDMAP and VM_PFNMAP on the same vma. > > > > Acked-by: Lorenzo Stoakes (for mm bits) > > Reviewed-by: Jann Horn > > Signed-off-by: Alice Ryhl > > --- > > rust/kernel/mm/virt.rs | 181 +++++++++++++++++++++++++++++++++++++++++= +++++++- > > 1 file changed, 180 insertions(+), 1 deletion(-) > > > > diff --git a/rust/kernel/mm/virt.rs b/rust/kernel/mm/virt.rs > > index 3a23854e14f4..6d9ba56d4f95 100644 > > --- a/rust/kernel/mm/virt.rs > > +++ b/rust/kernel/mm/virt.rs > > [cut] > > > + /// Returns whether `VM_READ` is set. > > + /// > > + /// This flag indicates whether userspace is mapping this vma as r= eadable. > > + #[inline] > > + pub fn get_read(&self) -> bool { > > + (self.flags() & flags::READ) !=3D 0 > > + } > > As an afterthought, should we name these getters according to RFC344 [1] > (remove get_ prefix)? Well, perhaps is_readable? Alice