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 499BBC021AA for ; Wed, 19 Feb 2025 08:47:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D5A21280211; Wed, 19 Feb 2025 03:47:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D0B1228020C; Wed, 19 Feb 2025 03:47:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD1FB280211; Wed, 19 Feb 2025 03:47:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A09D428020C for ; Wed, 19 Feb 2025 03:47:02 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 509C7C1191 for ; Wed, 19 Feb 2025 08:47:02 +0000 (UTC) X-FDA: 83136064284.29.A0B8DF7 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf13.hostedemail.com (Postfix) with ESMTP id A4AC120013 for ; Wed, 19 Feb 2025 08:47:00 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pGpH9mTb; spf=pass (imf13.hostedemail.com: domain of a.hindborg@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=a.hindborg@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739954820; 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=1mt2s2OdS3lHDMHodyuMoCPHKLfXPFls/Rzx49bBsgU=; b=1boD/nYT9TykVZVYe1dIHCqRXg4l5nZLMiVGEblRKniXdN1bEHsDQbh75xFTJTzVTmI5+M GGTDMmS9v02T0xHVQkBZ/ZIdLsVm5x8WX/wRqkTxkllfWmPOwIo1LADFcCZrCDJz4IhiuH XOih5/xtnD9Dfpw9otDAImDpHjKpcHk= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pGpH9mTb; spf=pass (imf13.hostedemail.com: domain of a.hindborg@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=a.hindborg@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739954820; a=rsa-sha256; cv=none; b=7eWNLN7+bwCNjAvfbth1thMlb0LSvXK6ai/yJo6saW8aJ93dRAn/oAK0HwCyKO5IbJEqZU FH99W6doAFCFBPwVrqOfzLcIFnHJR7ilMGDg/pq3l/Z5XoU9253/940UuPIRonG7OCI2IF yn49R811QUBNTTqnMUII7Fez84dpVFs= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 34826A41FD1; Wed, 19 Feb 2025 08:45:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8B27C4CED1; Wed, 19 Feb 2025 08:46:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1739954819; bh=/m2FmsbmklUHkDMFAYB5nNLniP8aogv96FU1XtosaoY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=pGpH9mTbVX6yzKBAb2dDLu93MENVlPzYABTAkvNa9uIIMk7Z96wUtZhWHVUiSAA+p A2lNQWSOIY3pBZJpMZR++14HdwIlAhn2MIuKbUaoFYpvPfm3msEIPXj7FVK7gtHsRe ruhURUC1P05+9YlbKJf0CP4XfVx6wOn29qQcqxCXtJq4ywmg2hcxbNdC2Rm6QsrI2Q 6mOUAuMTVzI64JjfnzNTWI0veUhHMPOpfZSW5SjbWKyuG5XooySMxLZurFXMvcx2ty CQWEjRIXutcYN+lqlN6aYGRc+ZFOM95/sfjolTrS98C+NfRaTY6fHLc4uX3BUQ0ARe zTlfruthpWphA== From: Andreas Hindborg To: "Asahi Lina" Cc: "Miguel Ojeda" , "Alex Gaynor" , "Boqun Feng" , "Gary Guo" , =?utf-8?Q?Bj=C3=B6rn?= Roy Baron , "Benno Lossin" , "Alice Ryhl" , "Trevor Gross" , "Jann Horn" , "Matthew Wilcox" , "Paolo Bonzini" , "Danilo Krummrich" , "Wedson Almeida Filho" , "Valentin Obst" , "Andrew Morton" , , , "Abdiel Janulgue" , , , Subject: Re: [PATCH 2/6] rust: page: Convert to Ownable In-Reply-To: <20250202-rust-page-v1-2-e3170d7fe55e@asahilina.net> (Asahi Lina's message of "Sun, 02 Feb 2025 22:05:44 +0900") References: <20250202-rust-page-v1-0-e3170d7fe55e@asahilina.net> <20250202-rust-page-v1-2-e3170d7fe55e@asahilina.net> User-Agent: mu4e 1.12.7; emacs 29.4 Date: Wed, 19 Feb 2025 09:46:45 +0100 Message-ID: <87bjuye2yy.fsf@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: A4AC120013 X-Stat-Signature: h596o9jehkbzzy6bbgiik5swu846mgrp X-HE-Tag: 1739954820-153479 X-HE-Meta: U2FsdGVkX1/AsCQUs5lZQmgdcvFIynbUzJsuyZKceXPJeIdD8x1IYbnaE91qrffD1QguxjocyMIkqLNVNaMRaSdV4BkJmVr3x4pxaQ8dWPIzWJQ4I5MnLQA5UwH2CQYqKETRZ1WENPFEkooYS8bNGZJR+Vk6X7Gpeak4cYLbFcK6cZPsdN+/nsmhtyEI+hTSSUBwTFDMRqqR82sFNZZKy7e89Z9CDBER4jCqs1FvL/PkTCYu+r39E2iy02wXQ5XW7RXuNGGvT9wB9e3u/ECCCVp9xrJcQKFo7wtgtm1k0VwGhVNgHhVxm/G9sE+58BfDO6ZxSyf7RdfQcdrcUaJ1sI7aKt2bl2u0R/c+6vXmK2wmNLkwN7VgeHBcbIZKAZCloSUYlpF4C9d9ypKK8bjMcF1+VtKBege1qGyUrpXV2nlu0l8PZcy9+wXiKEXLgL0jXqE+ZSAoa00POIx5Ta0Wad/IA/BV1Cag/CR1y7j4WXBl5YXeBQSivrmPAW6lYJZDl97L0tSC11dl8B2uEwgUls5PdcZQD55ib0Z65HcxuPG5DToglkGdwk86Nu41xolTJ6u36jEqtHi2rzmsnaWUp08vj/52MnJVQmaJ7jULtaQ76j+2er+tOO7uitf7v9+frNzW3ZrL+sXh9KsE4a8Pe1UKE21bnWkelOpPr3WHe8RanXHPMvBc5mQUZQVhxn1QX/OGI23D6bQ0jwrcq/2NTVND19nG9W9YXIseX1RJ2kF1ESyMB7IfTox8qhSWG9ANwIcKB2+q9LojM57cjcINyVrc9p0/ws2yFiH6iumtaDgr6wIIo119aOaNEzBqJdcNK/J8YmPxHnb8dqCgpwn2DWfpSJVOtQU80KbbHj60Fzdfq5PFRz5kZ8osDiWi/j7TG3eVwcuLi0f8O4yzkabuMgcjHAN8i/mng7DnOWQjc8mOWGf2ovUkIejQ4NRXGk200nkdLPrEQtZqOprLN8/ 9jULMLaB /dThID14ufVOkwOeAnNfAEtgmol/ipTCq7W7GofRnvrg++5529W6sPbw9bu8Sang8RcTxJ81M8PeZLgeAPs8506qqsw3N8ReiM3E3D2OC2kq5vEyDEbnYfgfVD6SPJQatOfURmjaPTRHJq9lm755xlQdJKveNKXg7MXkEbw1bZywYfanUK1xT5MH2iPPa5Yv5CvOOwyYwQYhx2/QWeLITPaTxUunkWhMVjNuHZoT4VwFLTp8nLBAzEOjPyRxaJd6h6N923+wjJXfS+8XBehXJUR/y+Nji4RwURWNU0vBMcGqAIz9WCgN64HIYH2K5c1RgG2E6wfM3ZmS+jJDEZNGgq+dpTU1p/91/V1GJ X-Bogosity: Unsure, tests=bogofilter, spamicity=0.499874, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: "Asahi Lina" writes: > This allows Page references to be returned as borrowed references, > without necessarily owning the struct page. > > Signed-off-by: Asahi Lina > --- > rust/kernel/page.rs | 30 ++++++++++++++++-------------- > 1 file changed, 16 insertions(+), 14 deletions(-) > > diff --git a/rust/kernel/page.rs b/rust/kernel/page.rs > index fdac6c375fe46e1ba589f1640afeae3e001e39ae..0b6cbe02522ab6e6e1810288a= d23af4e4aa587d8 100644 > --- a/rust/kernel/page.rs > +++ b/rust/kernel/page.rs > @@ -7,6 +7,7 @@ > bindings, > error::code::*, > error::Result, > + types::{Opaque, Ownable, Owned}, > uaccess::UserSliceReader, > }; > use core::ptr::{self, NonNull}; > @@ -30,13 +31,10 @@ pub const fn page_align(addr: usize) -> usize { > (addr + (PAGE_SIZE - 1)) & PAGE_MASK > } > > -/// A pointer to a page that owns the page allocation. > -/// > -/// # Invariants > -/// > -/// The pointer is valid, and has ownership over the page. > +/// An object representing a memory page in the kernel (`struct page`). Can you link to the header file containing `struct page`? .. memory page in the kernel ([`struct page`]). [`struct page`]: srctree/include/linux/mm_types.h Otherwise looks good =F0=9F=91=8D Best regards, Andreas Hindborg