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 9FC97C3DA64 for ; Thu, 1 Aug 2024 15:29:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 216956B0083; Thu, 1 Aug 2024 11:29:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C6E36B0096; Thu, 1 Aug 2024 11:29:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08E6F6B0099; Thu, 1 Aug 2024 11:29:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id DFA216B0083 for ; Thu, 1 Aug 2024 11:29:33 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 83013C0F17 for ; Thu, 1 Aug 2024 15:29:33 +0000 (UTC) X-FDA: 82404061026.24.EB60F9E Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch [185.70.40.133]) by imf19.hostedemail.com (Postfix) with ESMTP id ABED11A0018 for ; Thu, 1 Aug 2024 15:29:31 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=proton.me header.s=protonmail header.b="id/m5uFl"; dmarc=pass (policy=quarantine) header.from=proton.me; spf=pass (imf19.hostedemail.com: domain of benno.lossin@proton.me designates 185.70.40.133 as permitted sender) smtp.mailfrom=benno.lossin@proton.me ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722526129; a=rsa-sha256; cv=none; b=4eaUvBVS0Ykg2Cc4O731upmvsxieqB+i5vboitbNP+ijk7QqT8DPLKQJLq/kNZOv7fofjc 82jOOBDFJhdkX9//HHWOFfP0/IHxWxZnHWfclHK175Sj61bk5XP0J8LY5SG9ne0VmVShAt JgEZfzVM7YUqvQfc04b+j1p5GY7YgNk= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=proton.me header.s=protonmail header.b="id/m5uFl"; dmarc=pass (policy=quarantine) header.from=proton.me; spf=pass (imf19.hostedemail.com: domain of benno.lossin@proton.me designates 185.70.40.133 as permitted sender) smtp.mailfrom=benno.lossin@proton.me ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722526129; 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=HCOnPqaXJWD5QUVRR2HlizPpmXk4B0IZp//1F4LRrEk=; b=vq61FVfIw1EIFg7t1NAf4XO9aToozl19wxVE0JP3csQQcrVkuCpiwVMNzjdrrqz1x15XCj NFhoEe4WcGvMcD/2JKwuIsaZW9+VYBePAQ4c1+1nRX7HPDY6UGUvMWfz2wGvmLHNO9nXz8 tgfXs9glbywST9LLKxatk0U5NNCAHqo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1722526169; x=1722785369; bh=HCOnPqaXJWD5QUVRR2HlizPpmXk4B0IZp//1F4LRrEk=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=id/m5uFlPUW/5b4qXUPL3jqUvhlDA1dFqyEHKZkgiVw32HfZ0icpiK4lCnLZyq9tA mGmnrzVzkvsjJr6pXiSDIujeXxZ7IiPkcEuRm9csm+OofirV1t/BaOjryYebTuxkM9 t0E908OaTvZV9SOknG6xCMy+XGivrSQmST2sNpsjkCe9hDRQWBmTB8P+LzL3eCMwq8 /ztstmxvSLG9M/3Qg1YUw9RS/RzuMNWgIt9t//EVxdfVIhfaQcx4wefCCKOrX3XfHO iCScpmrUN9FNFfg2Pz08HRwZ9e9FPO7M267T0l1S3OjdCvGKIBOMo/yzk9w1aJvGzV FQKmk3CF45qqg== Date: Thu, 01 Aug 2024 15:29:15 +0000 To: Alice Ryhl From: Benno Lossin Cc: Miguel Ojeda , Andrew Morton , Alex Gaynor , Wedson Almeida Filho , Boqun Feng , Gary Guo , =?utf-8?Q?Bj=C3=B6rn_Roy_Baron?= , Andreas Hindborg , Matthew Wilcox , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org Subject: Re: [PATCH v3] rust: mm: add abstractions for mm_struct and vm_area_struct Message-ID: <79ce2394-25af-469f-88f1-5de31b9f48f6@proton.me> In-Reply-To: References: <20240801-vma-v3-1-db6c1c0afda9@google.com> <82e4816c-cada-46f3-bebf-882ae8ded118@proton.me> Feedback-ID: 71780778:user:proton X-Pm-Message-ID: 1f9acde3ca9b22fbb275d5a0943a3b4977e57bd5 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: ABED11A0018 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: i33sdsmzeof39mjd81r1p6zzbp38x4et X-HE-Tag: 1722526171-710888 X-HE-Meta: U2FsdGVkX1/iAMYYJDKQwVs7DyOV2X8AIi2rIEEeiQXPKsVV23uFHsLNCDl+PewyEeSR3qJYG4TGHo1tTA9LzVac1gT15Tt+Kcz2fGYwPOuouxMP0BE0aFSD41eMhZ05BSvzsGN36vLqsmwg4/U5CO7FnPveo4XB4RgQki63q9aCS0GOhMtk5DnGOvdepJaFZYto+jVBCSKfHZfETZ3F5qIXNFQpf4eIbtBaEOFM4TWtJvBGRZJ3vvY9ZhVrNnn1oyMPS+JGWRsF/6/lS2tqEWQUfzPbf7rgRk80HRACLBiv8NS6rMpLOfkU4w29Jt0MpIIsHrHA4N2fNL81DhQ2yOEnwnJwtoDEBo3AvQ1MNj49cs1jmUDFOf/DtSAajuDyH2GzrMhzVR3o2KdjdWcRlJw4hTcHrL4+u3nj+o7eyUNWHDbGKn6Lru21HJEY+0l/Ba+EWviUdpXKpnrU8dfOZknZbjo3Q56k1uzpQVfT07gIEPHxQ7w2gFagaU/viffa9OIuNh50tnUMyOSyqAW2AA2aDMsJ01jaPX6ZcfEnr2OrkqIv90pYJk9rGrjreTIPDkUegDr1Va1wePtK3QMxky3tVpqQYgUV0DYfA0l5NX6ujULP36U79XLzyIx5XxFq6qlvCm7bI2brKUvpKVOGzwO0u+WNhSXNhWZypD7h4v71gOiagG1nHUqHx70jMzOlcmHT1ngrsc3BvDfa5wWoGThABXT6qBnX0rZcKU06xlnEjZEyRWNzdlJuVF/2GMOsO012MetouREURo2al7/IZXJoOutk0prtwVSGq+7Nj4PLvQpE7q5XkjGvAO/EEOgT7ETks7mZjocysDYQM1jxH4OHjn79YylhtRuYNWLLAOm/wJp/aAwMCczWFwG39cYnJFC8T0Jd2KDk8po9KYQFo1wl+AdRnjgBUHZ2NKxCpAijvCJDyDsLUwH3TMIJNzA6oh3BPHyVFzlazImqOtA 7c0WceXm ATmgpwIkN8/E3AIB1NU1Sh85ZVvOqTzy/heXx8K5y8GkiWtkLXpQHfwTkMXWJ1tadHnyDMqwLOrZnPDvYnb3QQ2tUXxGS4qh3vElqmjRL42wybosm8J7C2FjOsZlw7QZCND1FFZE794oOhU8mFIDkhjH4KZvL8tYJrTfTcD3hibWBN2sL0Ng0b2hzD7bU5//Y+fEZJQw2SM0DMZfxAEiiRFIgSnyYOCRre5fZRXxfZMBCKM9gVQ2JP4cHiccIdEXK5HuaJt+csQxoT/YDjUBp3bxi2INYXrgHOmaaj3jUB1YKemSsIjyQE86+cM4ZegoHALxBvF821IPrl34Ohv7CyBlJ/bqFZJ4z9I0M0rP+7MzNe+8eSrOVBsNkL/o+3zN/IBvBLi+QarZC1txKZw+6/6M+2Q== 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: List-Subscribe: List-Unsubscribe: On 01.08.24 16:37, Alice Ryhl wrote: > On Thu, Aug 1, 2024 at 4:02=E2=80=AFPM Benno Lossin wrote: >> On 01.08.24 14:58, Alice Ryhl wrote: >>> +/// A wrapper for the kernel's `struct mm_struct`. >>> +/// >>> +/// This type is identical to `MmWithUser` except that it uses `mmput_= async` when dropping a >>> +/// refcount. This means that the destructor of `ARef= ` is safe to call in atomic >>> +/// context. >> >> Missing Invariants. >=20 > Hmm. Structs will inherit invariants from their fields, no? No, usually the fields handle their invariants on their own, eg NonNull can only be constructed if the pointer is not null. But Refcounted structs are somewhat special in this regard, since you cannot construct them by-value. Thus if you build a new struct that contains them, then that also needs to be refcounted and have its own invariant to guarantee that the field still is refcounted. --- Cheers, Benno