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 DA3E3C02180 for ; Mon, 13 Jan 2025 10:18:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 65A3F6B008A; Mon, 13 Jan 2025 05:18:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 60A7A6B008C; Mon, 13 Jan 2025 05:18:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D3576B0092; Mon, 13 Jan 2025 05:18:48 -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 2F3A06B008A for ; Mon, 13 Jan 2025 05:18:48 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D9813161BCD for ; Mon, 13 Jan 2025 10:18:47 +0000 (UTC) X-FDA: 83002029894.09.522E105 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by imf13.hostedemail.com (Postfix) with ESMTP id E11152000D for ; Mon, 13 Jan 2025 10:18:45 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=cFm71l79; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf13.hostedemail.com: domain of aliceryhl@google.com designates 209.85.221.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=1736763526; 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=G8GDo/MCdKx6Z/Ef/GGop6qPQS31mjUdMoKIJbkfs3M=; b=lHLsz4+87c/G+8Mg+vPgK9N9hqWOWDFQ/H67qLJwXiZmQ97/Zbhwzq5rm9yeyG9Yi3k3GN r37Ktse4M8+W/GBB5TRZAiFGSL0F/QH7G0DX2OvX1EGdQNM9KkE8MWgAwwd9YIEKeZUPsY QPmZNpXiJBDZvoEZEwLzG297n7E5zho= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736763526; a=rsa-sha256; cv=none; b=JKQmwqbWMLUWAIsSXpKQA5HkLz00GG3wr/gmD0raiPxrnHgOE+4Glk+Zoj+tDf+O4wN25L TTlaDO9fSnilzFH4nNmytczALv6Au3Uk/WbmKoURozy7NH6xqqXp30WojPdNjL0sc7dTof 1b7AHwgfjlPzE5/zbyA2/TqDJhJ9J1g= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=cFm71l79; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf13.hostedemail.com: domain of aliceryhl@google.com designates 209.85.221.52 as permitted sender) smtp.mailfrom=aliceryhl@google.com Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-385ef8b64b3so3541666f8f.0 for ; Mon, 13 Jan 2025 02:18:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736763524; x=1737368324; 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=G8GDo/MCdKx6Z/Ef/GGop6qPQS31mjUdMoKIJbkfs3M=; b=cFm71l79XHStQmxt57BEOanTBckHo6b3JuSpZPT+ZPhW582LJqcgF+M2oq+9gMwswW 2s6pTIGqnTtuIoL2Vzz/MOXaCy1wYtRes/0upaP7lSPANIqf8Y+OKauNbLvjgJJ/t4kE UzP56NSjoxji2uCt7jzmj+LRUP7jIYtu5LuGKkDpiwojfutfqOKvQqz5shQd8A8++AaA 0fZDKavgBGS5VrwS888GB3JGYRSfMBQXjb+DjEHzIib0czGEidweudpbiXs+Trzng4RX 5BZIwREMJs0ezyJNwnFb/wsCBuh7t9t2jGBry2nL+cLX+fLJUeGy+BwniWOskuErCh6d IAEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736763524; x=1737368324; 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=G8GDo/MCdKx6Z/Ef/GGop6qPQS31mjUdMoKIJbkfs3M=; b=cP3k7vT90/bVm3NtT1/vhVJptNu8MbfeHDervPx99jZrOlnzTtWg1MOsVndYrhmnmm b3k1Kali9xrrPlbktQ8KgvlTgfaMcPRqCqM3JSBqedRWq4hPxE9/mi3pRvyKtYtLU+rz 9FWm7OnzMFdiFXdEp66Ioh7SiluCfdSYSfR4Ji6W1a7TQfLBy/wWtcI+hBryr/7RgdS+ rxrD7CJAybTFhxqTPELcGpxFcBY8YZgK3P1hSHBQJcxpgCTLrQW2AdjRwMiI5PtOl7HF GcwupdpA1IeNpZiuYR4CZibRjQB++fywY5a8YYnixeTSesJ6p7q466AmPcZtfb0F+/vF HcUA== X-Forwarded-Encrypted: i=1; AJvYcCUGbgmPK7EbvQHC4hEx4Fx4lOr/Va8DI0RFNHf44g2ffFWxFam/NykFeYcF25rNWwLY60WLtKBg9A==@kvack.org X-Gm-Message-State: AOJu0Yxsmu5I0Il+9Y0h9b0TDzCoEeqcrigAqUQIlgzsqLaz2n9HAAiN DmDIuTIQ0maB7cKssK4s45Vpd5dAlqwnu+mrgD63BJyUWNwuA+9onVQAs6Rtf1KvuknprVQD0G2 oBiFYrrmxPFYafSMR9k7iXZ3THdDy5OkqepbR X-Gm-Gg: ASbGncv2o8mzB8DdIbvNRn3jiCxcWTDCuLlfI4/i1Fva7WydfinngqmRo0A8ZpLxXlo K95xJhcHmz4a4t0wxC94uo7Kv363p8NmsMq2nzrhRYS5I+4IUvb3eidmXUkFScQJh0R0V X-Google-Smtp-Source: AGHT+IGpz/SHkxbp+N3cQw0S7DSAij+3lPOEYN2Yu2IpzNCgXQ1VyNHvutxAlnjy9IbHqOouApIerBv3HdqSu06NEN8= X-Received: by 2002:a05:6000:2a3:b0:385:efc7:932d with SMTP id ffacd0b85a97d-38a8730faafmr17951935f8f.46.1736763524405; Mon, 13 Jan 2025 02:18:44 -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> <874j28bdkq.fsf@kernel.org> In-Reply-To: <874j28bdkq.fsf@kernel.org> From: Alice Ryhl Date: Mon, 13 Jan 2025 11:18:32 +0100 X-Gm-Features: AbW1kvY4UPbhcl0V_aUw-htWIkjKdS5fOAkjYdW1l2Er6j35yFohAleL9I4lA3I 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: 18kj9w5f71puscnegutd96x9q5zbtd5g X-Rspamd-Queue-Id: E11152000D X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1736763525-87701 X-HE-Meta: U2FsdGVkX1+VG0iNjVZWxXj2+dXJUpmXkuPsoEiWY9uwn3O66G8fODX2bIi9NYpjISRvam4oFebUpQuk/ZlgZkgV244umKpp9BMNG1VT2DP0JIvNAOA3nXeVcL4LxU5DX0/3HoN1VQhly1jKAHSOswm+jb7rZ/CAL/DUtvnO6I57P8UfWZkYyvbfKuWj+2ftAseL3VmfL2U2ayKGu0OxmTOw9A4ZMRjRKLlFRrrf2LyYrbWZis543motsCNzzDE5DLMKG+8C1UDTmV7xpAk2cWk6kWt2jwuJAg0sFtfiZnbciD9HjNRWa6VDM6kfY7J0pQTcdDgqjiRrILyDEjOZCYrWQQpwgc9xzmpGbpvrE9hIQmYtwDHtd+bRpqpPEfR1dw0sG7/8wicNqMYyQlyq9AVGhnleOZeVtKxNjIFXUUPW46LO6T+LZqboy8IPNVFe7md2ukckLDJZ3Ob93GqzwEES27gNxTf78CEPND1IaKdiCUMoZFk4wKQlefXSBjhgk8q6BMeJ13GssHWXl73pC1oh6TYQREiH71h+qIG8LnNgCrQaJ4/zV9jTpf838TpXPvs6uzqv/p053o4umB6SUKygjJMiM70RkK5o2NP93yVPhZTf6+/GxorjIM8QaVJcVHmdqf8acRS58pCsSE4gDqQZyKxbYdrp9F8tBjhzu+A3iHA+mzEQzwWmfVGk8k1nbNlYYGvtqp3IasAlMWmxcp9d5T2/ek/EvtSBTPJLK5RJl6MYEpSdzlUNFIGxlsgQ2t9CdziB0iJrAhf/SLHuMnYEIsV7TmwIE1VK/euzcMacxdVDaoXdZ5tonmQJnVm7Q9BYp5YOHx45tTXp3HiRQ2kWXGOZQjh+y5LDE9Ez+hPRoySWvqGhcc1RIHwYR+/aIbT3hxCQqn6fkb6lwbC7W7YTupit9PnAJxRw+Ipb6AwkOkYHl33tMWdZD6g15RDmqoBY8EjlbYkUw0+o707 ILf7PTFJ 0OQuOtgYpfOvxme5nLitzBbLUzJw5sSsWn7bCb8ULF4tLuB1ogbo8t/pw3nl7M+bPayBAZMmhISpVRBdxoQhL0cHlDFI3Iwxm6hm+todidCDKPWfMBrsb2caaOs8xsgT1IY/TAimHBnn3z9Idmb3yqtlEfqj05GooUwIWgwYS4TTW9dv0ioPW4wIRgFuKOeSeziHdtgZERWinV9DGXhYQuoDUuZr5SXBBsgDUxo56sNNErEZS38W10m6VBTmJUZhFTWovdqzShTCjaGBFekVnY21qKbtWNw3fwFacHsJztEU1BuhnYYG5qMeBf5K5fgNi/kz4RpPvN3uB/+OE6S51zT0EfjmFt7YqNtcHNkfz3xc9culJXZ0qD7byULYenTQRZOLY X-Bogosity: Ham, tests=bogofilter, spamicity=0.406566, 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 Thu, Jan 9, 2025 at 9:23=E2=80=AFAM Andreas Hindborg wrote: > > "Alice Ryhl" writes: > > > 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 separ= ate > >> > set of operations that you are only able to use during the mmap() ho= ok. > >> > For example, the VM_MIXEDMAP flag must not be changed after the init= ial > >> > 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 e= rror > >> > if VM_WRITE is set. Trying to use `try_clear_maywrite` without check= ing > >> > 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. Wh= en > >> > 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 a= s readable. > >> > + #[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? > > Why not just `readable() -> bool`? That would match the guidelines. I guess that could work. Alice