All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Hindborg <a.hindborg@kernel.org>
To: "Benno Lossin" <benno.lossin@proton.me>
Cc: "Danilo Krummrich" <dakr@kernel.org>,
	"Miguel Ojeda" <ojeda@kernel.org>,
	"Alex Gaynor" <alex.gaynor@gmail.com>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Trevor Gross" <tmgross@umich.edu>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 08/22] rust: pin-init: move `InPlaceInit` and impls of `InPlaceWrite` into the kernel crate
Date: Wed, 05 Mar 2025 13:28:31 +0100	[thread overview]
Message-ID: <87r03bbr0w.fsf@kernel.org> (raw)
In-Reply-To: <D88BIUUNXQK5.3BFLFUBWAS0H2@proton.me> (Benno Lossin's message of "Wed, 05 Mar 2025 12:06:52 +0000")

"Benno Lossin" <benno.lossin@proton.me> writes:

> On Wed Mar 5, 2025 at 12:18 PM CET, Andreas Hindborg wrote:
>> "Benno Lossin" <benno.lossin@proton.me> writes:
>>
>>> In order to make pin-init a standalone crate, move kernel-specific code
>>> directly into the kernel crate. This includes the `InPlaceInit<T>`
>>> trait, its implementations and the implementations of `InPlaceWrite` for
>>> `Arc` and `UniqueArc`. All of these use the kernel's error type which
>>> will become unavailable in pin-init.
>>>
>>> Signed-off-by: Benno Lossin <benno.lossin@proton.me>
>>> ---
>>>  rust/kernel/alloc/kbox.rs |   3 +-
>>>  rust/kernel/init.rs       |  55 +++++++++++++++++
>>>  rust/kernel/prelude.rs    |   3 +-
>>>  rust/kernel/sync/arc.rs   |  65 +++++++++++++++++++-
>>>  rust/pin-init/src/lib.rs  | 125 ++------------------------------------
>>>  5 files changed, 127 insertions(+), 124 deletions(-)
>>>
>>
>> [...]
>>
>>> --- a/rust/pin-init/src/lib.rs
>>> +++ b/rust/pin-init/src/lib.rs
>>> @@ -10,7 +10,7 @@
>>>  //! To initialize a `struct` with an in-place constructor you will need two things:
>>>  //! - an in-place constructor,
>>>  //! - a memory location that can hold your `struct` (this can be the [stack], an [`Arc<T>`],
>>> -//!   [`UniqueArc<T>`], [`KBox<T>`] or any other smart pointer that implements [`InPlaceInit`]).
>>> +//!   [`KBox<T>`] or any other smart pointer that supports this library).
>>
>> Would you not want to remove references to `KBox` here as well? Even
>> though you don't have to move the impl, I don't imagine `KBox` exist in
>> user space?
>
> Yes, this is done in "rust: pin-init: fix documentation links".

Yea, maybe I should have read the entire thing before firing off emails.


Best regards,
Andreas Hindborg




  reply	other threads:[~2025-03-05 12:34 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <xn5HRPkxO91lsoIUAwMnnAvQRCAgmw6nzTZX2DsODS0viAvz_g6B8l3dpYNtcL2jBXySi0DQrVi04b6MY8GbMw==@protonmail.internalid>
2025-03-04 22:52 ` [PATCH 00/22] make pin-init into a standalone crate Benno Lossin
2025-03-04 22:53   ` [PATCH 01/22] rust: init: disable doctests Benno Lossin
2025-03-05  8:51     ` Andreas Hindborg
2025-03-05 12:53       ` Benno Lossin
2025-03-05 13:00         ` Miguel Ojeda
2025-03-05 14:09         ` Andreas Hindborg
2025-03-05 14:31           ` Benno Lossin
2025-03-05  9:17     ` Fiona Behrens
2025-03-04 22:53   ` [PATCH 02/22] rust: move pin-init API into its own directory Benno Lossin
2025-03-05  9:03     ` Andreas Hindborg
2025-03-05  9:17     ` Fiona Behrens
2025-03-04 22:53   ` [PATCH 03/22] rust: add extensions to the pin-init crate and move relevant documentation there Benno Lossin
2025-03-05  9:11     ` Andreas Hindborg
2025-03-05 11:03       ` Benno Lossin
2025-03-05  9:17     ` Fiona Behrens
2025-03-04 22:53   ` [PATCH 04/22] rust: pin-init: move proc-macro documentation into pin-init crate Benno Lossin
2025-03-05  9:18     ` Fiona Behrens
2025-03-05  9:34     ` Andreas Hindborg
2025-03-05 11:05       ` Benno Lossin
2025-03-04 22:53   ` [PATCH 05/22] rust: pin-init: change examples to the user-space version Benno Lossin
2025-03-05  9:19     ` Fiona Behrens
2025-03-05 10:06     ` Andreas Hindborg
2025-03-04 22:53   ` [PATCH 06/22] rust: pin-init: call `try_[pin_]init!` from `[pin_]init!` instead of `__init_internal!` Benno Lossin
2025-03-05  9:19     ` Fiona Behrens
2025-03-05 10:12     ` Andreas Hindborg
2025-03-04 22:54   ` [PATCH 07/22] rust: pin-init: move the default error behavior of `try_[pin_]init` Benno Lossin
2025-03-05  9:21     ` Fiona Behrens
2025-03-05 10:29     ` Andreas Hindborg
2025-03-05 10:47       ` Benno Lossin
2025-03-04 22:54   ` [PATCH 08/22] rust: pin-init: move `InPlaceInit` and impls of `InPlaceWrite` into the kernel crate Benno Lossin
2025-03-05  9:23     ` Fiona Behrens
2025-03-05 11:18     ` Andreas Hindborg
2025-03-05 12:06       ` Benno Lossin
2025-03-05 12:28         ` Andreas Hindborg [this message]
2025-03-05 12:37           ` Benno Lossin
2025-03-04 22:54   ` [PATCH 09/22] rust: pin-init: move impl `Zeroable` for `Opaque` and `Option<KBox<T>>` " Benno Lossin
2025-03-05  9:24     ` Fiona Behrens
2025-03-05 11:26     ` Andreas Hindborg
2025-03-05 12:05       ` Benno Lossin
2025-03-05 12:11         ` Alice Ryhl
2025-03-05 12:17           ` Benno Lossin
2025-03-05 12:49             ` Alice Ryhl
2025-03-05 12:51               ` Benno Lossin
2025-03-04 22:54   ` [PATCH 10/22] rust: add `ZeroableOption` and implement it instead of `Zeroable` for `Option<Box<T, A>>` Benno Lossin
2025-03-05  9:25     ` Fiona Behrens
2025-03-05 11:30     ` Andreas Hindborg
2025-03-04 22:54   ` [PATCH 11/22] rust: pin-init: fix documentation links Benno Lossin
2025-03-05  9:26     ` Fiona Behrens
2025-03-05 11:37     ` Andreas Hindborg
2025-03-05 11:49       ` Benno Lossin
2025-03-04 22:54   ` [PATCH 12/22] rust: pin-init: remove kernel-crate dependency Benno Lossin
2025-03-05  9:27     ` Fiona Behrens
2025-03-05 11:49     ` Andreas Hindborg
2025-03-05 12:00       ` Benno Lossin
2025-03-05 12:27         ` Andreas Hindborg
2025-03-04 22:55   ` [PATCH 13/22] rust: pin-init: change the way the `paste!` macro is called Benno Lossin
2025-03-05  9:28     ` Fiona Behrens
2025-03-05 11:52     ` Andreas Hindborg
2025-03-04 22:55   ` [PATCH 14/22] rust: add pin-init crate build infrastructure Benno Lossin
2025-03-05 11:59     ` Andreas Hindborg
2025-03-05 12:10       ` Benno Lossin
2025-03-05 12:31         ` Andreas Hindborg
2025-03-05 12:50           ` Miguel Ojeda
2025-03-05 13:00             ` Benno Lossin
2025-03-05 14:19             ` Andreas Hindborg
2025-03-05 14:34               ` Benno Lossin
2025-03-05 12:47       ` Miguel Ojeda
2025-03-04 22:55   ` [PATCH 15/22] rust: make pin-init its own crate Benno Lossin
2025-03-05  9:29     ` Fiona Behrens
2025-03-05 12:12     ` Andreas Hindborg
2025-03-05 13:40       ` Benno Lossin
2025-03-05 14:20         ` Andreas Hindborg
2025-03-04 22:55   ` [PATCH 16/22] rust: pin-init: add `std` and `alloc` support from the user-space version Benno Lossin
2025-03-05  9:32     ` Fiona Behrens
2025-03-05 12:22     ` Andreas Hindborg
2025-03-05 13:55       ` Benno Lossin
2025-03-05 14:29         ` Andreas Hindborg
2025-03-05 15:05           ` Benno Lossin
2025-03-05 17:27             ` Andreas Hindborg
2025-03-04 22:55   ` [PATCH 17/22] rust: pin-init: synchronize documentation with " Benno Lossin
2025-03-05  9:33     ` Fiona Behrens
2025-03-05 12:52     ` Andreas Hindborg
2025-03-04 22:55   ` [PATCH 18/22] rust: pin-init: internal: synchronize with " Benno Lossin
2025-03-05 12:56     ` Andreas Hindborg
2025-03-04 22:56   ` [PATCH 19/22] rust: pin-init: miscellaneous synchronization with the " Benno Lossin
2025-03-05 12:57     ` Andreas Hindborg
2025-03-04 22:56   ` [PATCH 20/22] rust: pin-init: add miscellaneous files from " Benno Lossin
2025-03-05  9:35     ` Fiona Behrens
2025-03-05 13:04     ` Andreas Hindborg
2025-03-05 13:37       ` Miguel Ojeda
2025-03-05 13:58         ` Benno Lossin
2025-03-04 22:56   ` [PATCH 21/22] rust: pin-init: re-enable doctests Benno Lossin
2025-03-05  9:35     ` Fiona Behrens
2025-03-05 13:05     ` Andreas Hindborg
2025-03-04 22:56   ` [PATCH 22/22] MAINTAINERS: add entry for the `pin-init` crate Benno Lossin
2025-03-05  0:17     ` Jarkko Sakkinen
2025-03-05  0:43       ` Benno Lossin
2025-03-05  5:14         ` Jarkko Sakkinen
2025-03-04 23:12   ` [PATCH 00/22] make pin-init into a standalone crate Benno Lossin
2025-03-05 13:56   ` Andreas Hindborg
2025-03-05 14:03     ` Benno Lossin
2025-03-05 14:36       ` Andreas Hindborg
2025-03-05 14:47         ` Benno Lossin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r03bbr0w.fsf@kernel.org \
    --to=a.hindborg@kernel.org \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=benno.lossin@proton.me \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=dakr@kernel.org \
    --cc=gary@garyguo.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ojeda@kernel.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=tmgross@umich.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.