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 492F7C54736 for ; Tue, 27 Aug 2024 19:41:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B50576B0085; Tue, 27 Aug 2024 15:41:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AFEED6B0088; Tue, 27 Aug 2024 15:41:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 99F8E6B0089; Tue, 27 Aug 2024 15:41:26 -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 7C8456B0085 for ; Tue, 27 Aug 2024 15:41:26 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 26C8C1210C2 for ; Tue, 27 Aug 2024 19:41:26 +0000 (UTC) X-FDA: 82499044572.19.F834BA2 Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) by imf02.hostedemail.com (Postfix) with ESMTP id F09038000B for ; Tue, 27 Aug 2024 19:41:23 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jr3x6iS7; spf=pass (imf02.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.219.41 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724787640; 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=eHjyJb8GPp/6HfUjUQSJWFTlvgIcHY5RFMvohVM8PdQ=; b=2rCnyNEslbIDiWAuxtzLkEaxwCyvp+mWp6sjf11hzArt0i4p342y+DKsJwp3gXCAprRLP3 odsW1BJ+FQVWc5YhRNuf+opDoGQHoyzH2sXL1ZSwNdfHZVepitS5AbPU1R58SMhmCMrh90 SGpsJJ0l3+FEr7drNkXCbVi4ZYwwlRQ= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jr3x6iS7; spf=pass (imf02.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.219.41 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724787640; a=rsa-sha256; cv=none; b=nD8HNdUCnhYDeo0AFMfhiR4+0/P6Ofm5UwxsG5cea4HiRXXrTTQuhRKI4TxccXMq3joyz2 kQmE3SgXe/iWCfnH2zz8f6VqyMTT2UZOmaBhHsDnnmBM4QkdXhRQNJ93Mi2GCnHMBYvLPT OCaFJY9cgOs+n4bHq+q/UBa1c4FdH/k= Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-6bf7ad1ec3aso32967766d6.0 for ; Tue, 27 Aug 2024 12:41:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724787683; x=1725392483; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :feedback-id:from:to:cc:subject:date:message-id:reply-to; bh=eHjyJb8GPp/6HfUjUQSJWFTlvgIcHY5RFMvohVM8PdQ=; b=jr3x6iS7x2A6+B9RBXIT1ID1e5EhLvWbgnRc6stlexm4e5nFTG3zzlhddLYmdUa8Go 47/aYInWw5aycMDVzsLzdCGTolveSaRnic6hrZX/S6LU1ynwhQiftAEzXhklHjDYTVy3 ecl3NSgampVB7TV5LfREFX6xKXfgmCFV9BqA3nSatIazgUsDl6KGDgxxmf6aYprQ+gXg GxEjq/4zKJBkDzcefuTAhXa/Ckz8o2nKOU6WQI0LECAtLABq7eqIGnQBHsUA5Oeuimlo x5jIFeMFh19Clu7BgYLmugPTSWyJ5TbOKIXxp90/PkmogNE0qco15RV5IMl+pN8RiXRx 8wIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724787683; x=1725392483; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :feedback-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=eHjyJb8GPp/6HfUjUQSJWFTlvgIcHY5RFMvohVM8PdQ=; b=gMeI/8GtrsKbdXzSxfxKckloiefsduJVsvxV4GDqpZpbMYwwEw23xhNzmY0FcJkI9p 5Ankbcz8dAGj1fgWYxLx3ICPm17neeiRLGgDt7xf9kOCsjOpBJL/YtZTY11BcdDdZ+mr UgojR06jIOKwdiCbY2dXOwdE05RF94xay3UQV2mMx/RP+OPMGQ/mOrt3Axjhf56qFJ76 oUm6IVVgskdqKp4EanvP26S+yDJS+x1IsNiV+kSDjeLvieLbGlJVEcWx/1O3q/jQmC8B bn6ivBh1KyAdUSnSgedoHEkWdsiafNcZmkT7zzz8sNg7GZzkj7ya8wpY+z7Jd5c/RkDA GzRw== X-Forwarded-Encrypted: i=1; AJvYcCUCZC+2v15R3K9cjAg7S2/3YbdSnABzE5sDM55mqKLkvm1r+lnD9P79i/AEojxl1B+OmIn8NYVPHw==@kvack.org X-Gm-Message-State: AOJu0YxWuTyFRQoxR7m4F8JFoweMNFmhkkxQY7bzQwo6oWdn7vpg41+t 8EJl65l2lryeMwlz79goxeNFH1N5k+N7ifXX6Ux13Evs+h0/gZ20 X-Google-Smtp-Source: AGHT+IFiH/nKvl+KXqLzz46m2teZMGkmO+BsRECC14GZfUubMw2oaB/F9FKPc+3KOqo9Y26CHuMkcA== X-Received: by 2002:a05:6214:5a02:b0:6c1:6add:d26e with SMTP id 6a1803df08f44-6c16dc24ec2mr163281156d6.11.1724787682991; Tue, 27 Aug 2024 12:41:22 -0700 (PDT) Received: from fauth2-smtp.messagingengine.com (fauth2-smtp.messagingengine.com. [103.168.172.201]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6c162db09a7sm59110026d6.95.2024.08.27.12.41.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Aug 2024 12:41:22 -0700 (PDT) Received: from phl-compute-04.internal (phl-compute-04.nyi.internal [10.202.2.44]) by mailfauth.nyi.internal (Postfix) with ESMTP id 3AB69120006C; Tue, 27 Aug 2024 15:21:55 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-04.internal (MEProxy); Tue, 27 Aug 2024 15:21:55 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudeftddgudefhecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpeffhffvvefukfhfgggtugfgjgesthekredttddt jeenucfhrhhomhepuehoqhhunhcuhfgvnhhguceosghoqhhunhdrfhgvnhhgsehgmhgrih hlrdgtohhmqeenucggtffrrghtthgvrhhnpeejhfeikeekffejgeegueevffdtgeefudet leegjeelvdffteeihfelfeehvdegkeenucffohhmrghinhepkhgvrhhnvghlrdhorhhgne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsghoqhhu nhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqieelvdeghedtieegqdduje ejkeehheehvddqsghoqhhunhdrfhgvnhhgpeepghhmrghilhdrtghomhesfhhigihmvgdr nhgrmhgvpdhnsggprhgtphhtthhopedvhedpmhhouggvpehsmhhtphhouhhtpdhrtghpth htohepuggrkhhrsehkvghrnhgvlhdrohhrghdprhgtphhtthhopegrlhhitggvrhihhhhl sehgohhoghhlvgdrtghomhdprhgtphhtthhopehojhgvuggrsehkvghrnhgvlhdrohhrgh dprhgtphhtthhopegrlhgvgidrghgrhihnohhrsehgmhgrihhlrdgtohhmpdhrtghpthht ohepfigvughsohhnrghfsehgmhgrihhlrdgtohhmpdhrtghpthhtohepghgrrhihsehgrg hrhihguhhordhnvghtpdhrtghpthhtohepsghjohhrnhefpghghhesphhrohhtohhnmhgr ihhlrdgtohhmpdhrtghpthhtohepsggvnhhnohdrlhhoshhsihhnsehprhhothhonhdrmh gvpdhrtghpthhtoheprgdrhhhinhgusghorhhgsehsrghmshhunhhgrdgtohhm X-ME-Proxy: Feedback-ID: iad51458e:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 27 Aug 2024 15:21:54 -0400 (EDT) Date: Tue, 27 Aug 2024 12:21:31 -0700 From: Boqun Feng To: Danilo Krummrich Cc: Alice Ryhl , ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com, gary@garyguo.net, bjorn3_gh@protonmail.com, benno.lossin@proton.me, a.hindborg@samsung.com, akpm@linux-foundation.org, daniel.almeida@collabora.com, faith.ekstrand@collabora.com, boris.brezillon@collabora.com, lina@asahilina.net, mcanal@igalia.com, zhiw@nvidia.com, cjia@nvidia.com, jhubbard@nvidia.com, airlied@redhat.com, ajanulgu@redhat.com, lyude@redhat.com, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v6 09/26] rust: alloc: implement kernel `Box` Message-ID: References: <20240816001216.26575-1-dakr@kernel.org> <20240816001216.26575-10-dakr@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: F09038000B X-Stat-Signature: 5n49hgm34icmuw78tamxrnzo9ooqsy6o X-HE-Tag: 1724787683-550800 X-HE-Meta: U2FsdGVkX188Mc7kwuPSWVQZSke6vgIwtklbN53pGCDOx1Rlek5+EEJaFIt/iE0FBqkIeYcUZz/6Txcy6dnab9bSdDFaCk3kC+ub+WOEfDdBuiHt8F2/DAkqbojz9tI/K3UPphdwU0BCOnVNfX/INWw8mHhhYdvmiEa1kvOK4bZxIycpsJHMPzK7S6PNMqX3PjrIYwWg1tgvzbk8nu1YJE38P9QQv+BwDQz26prGCkl+QVG9CsLaLXy3MEaO3tsiDUpeq99jfOEhr8hNa5v0sGGCCW/ftZYf2/wTVxDDTMtHBDOfzfsyMOo50Y7bIJ0xumqtH63EAFrQaOCfWD+1I2O5OK46YZ4/sQgG+BqRIASDRDsuhWfyU0CGooJSByFRs0ngNxZvoyWvEMuLX9oqiDDR9ivmvjNUnPuJkNk+ADNliTs8khrrpVq7KjsHn3TISGEU+XqSCygl83avt1L835j6n7QGfF6pr866VtYLKODdkb6IXPHl4fcohCigIiyE43UutJClN4QyAHYzjOGo0clXyEWRHEb7RI2OxyZ+njA/NWj1KS/DH59bb1NdejgGcpYBs28yZhtwJBIplWk3U4rZStsBwLx1RQpH05oBic3CbAjQr9OvgfHlRjVqJq56ieoH+GAZbQtcdGHCVaAlVfEuofzrtkkOhfVJzahPko67YnYGB0RaNWMacdg8PiKXPXkAE+7iNS0KVHBD+r9xEEbCzLIudgvdFg2XAhhgMQMfrigyiHuC2sGks5kWhrVGDWZEcrX0DiI1D1ab7Iyy5dgYL4+kHCs/uSVi6+ZRssS7cIc+6Liu1dk22Wnkykhj5bhPMWAIFX+99z32HB033m6epW8ePhpU8NgJTIOcaO88l55Rfk1NeU/jgJFdMhZlduOWBATRu6SApvpAqX1xwB5J8/+DTIosX2wlKT0O/iNEVFRhbPeBwq7rxbqQz1xsJg5OfRbXEVFdbVV5Wvl foInbG2n bmVhHe+ohnmy0yFLhqBE2ZVdFXgpT1a0DGFjRi3Hqif1wxwRoRZ6iHLgI03HwsFODBmGwUIjsMTKCGy/5tPmAFnPOiC+ZyKJhA+XxjAYWSlsd6UsOKvHxxpU9P9d3JDgfzfxIFVyrtL7A0SFEm5qnQtBr7mZNHI5rNZaYpSbWKGstj8dybTybbpCrn/wBkJTdsStrYbBX9KY93qij0YLj8j3karGIPvTgIS0kTBLdLHrfl6uWsAC2OjFNZqlLU4G58UC+Gs/gebr35yb76E1ZOQZBJcSaFIZE4JNtNMEISsBg19grxzOM+BU4JS1j0qivzZm2NzeuE79sC+M8HWG+p6E0/aDuPIsElGnFYX8d/xnEI53OT21BZwmZM5ZldAF3SuYttIDKzGrcgbMLgTaHRfbC9DJ1oyP6oFlStKjygw+lWgr4tszjycuViRjt9vD1o1MjJppVXAAEAVVUiCDij4Ffd54IJnf2bASgEOHOWevgIUMRnqbMbxuo7diJoUnYVTm9M3RygaBBXm7PPhiR5usedn5baMCuTfBICaBD1CKfN34r33Tvqcyd8lUbubU3ademp8MT3tqC04yCxg2EM8x2sw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, 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, Aug 20, 2024 at 05:26:22PM +0200, Danilo Krummrich wrote: > On Tue, Aug 20, 2024 at 11:47:45AM +0200, Alice Ryhl wrote: > > On Fri, Aug 16, 2024 at 2:13 AM Danilo Krummrich wrote: > > > > > > `Box` provides the simplest way to allocate memory for a generic type > > > with one of the kernel's allocators, e.g. `Kmalloc`, `Vmalloc` or > > > `KVmalloc`. > > > > > > In contrast to Rust's `Box` type, the kernel `Box` type considers the > > > kernel's GFP flags for all appropriate functions, always reports > > > allocation failures through `Result<_, AllocError>` and remains > > > independent from unstable features. > > > > > > Signed-off-by: Danilo Krummrich > > > > Overall looks good to me, but I have a question: > > > > > +impl ForeignOwnable for Box > > > +where > > > + A: Allocator, > > > +{ > > > + type Borrowed<'a> = &'a T; > > > + type BorrowedMut<'a> = &'a mut T; > > > [..] > > > + unsafe fn borrow_mut<'a>(ptr: *const core::ffi::c_void) -> &'a mut T { > > > + // SAFETY: The safety requirements of this method ensure that the pointer is valid and that > > > + // nothing else will access the value for the duration of 'a. > > > + unsafe { &mut *ptr.cast_mut().cast() } > > > + } > > > > Where does this come from? It looks like you've based the series on > > top of [1], but I dropped that patch a long time ago, and I don't see > > it in rust-dev anymore. > > I comes from me rebasing onto rust-dev. When Boqun asked me to resolve the merge > conflicts a few days ago, this patch was in rust-dev. I think it disappeared two > days ago or so. > > @Bonqun: Need to me to rebase again? > No need to rebase for this. I've already applied your series on rust-dev. The background of carrying `borrow_mut` is because it was simple to do, and so I carried it as the best effort, now with more `ForeignOwnable` ipmls, I think it's better if we just drop it, and re-introduce if needed. Sorry for a bit out-of-sync on this one. Regards, Boqun > - Danilo > > > > > Alice > > > > [1]: https://lore.kernel.org/all/20230710074642.683831-1-aliceryhl@google.com/ > >