[PATCH v5 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait

Alexandre Courbot posted 2 patches 2 months ago
rust/kernel/transmute.rs | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
[PATCH v5 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait
Posted by Alexandre Courbot 2 months ago
This is the sister patch of [1], providing an `as_bytes` method for
`AsBytes`, and an `as_bytes_mut` accessor for types also implementing
`FromBytes`.

It is going to be used in Nova, but should also be universally useful -
if anything, it felt a bit strange that `AsBytes` did not provide this
so far.

[1] https://lore.kernel.org/rust-for-linux/20250624042802.105623-1-christiansantoslima21@gmail.com/

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
Changes in v5:
- Add `CAST:` comments above cast operations. (thanks Benno!)
- Link to v4: https://lore.kernel.org/r/20250728-as_bytes-v4-0-b9156af37e33@nvidia.com

Changes in v4:
- Add the `as_bytes_mut` method for types also implementing `FromBytes`.
  (thanks Alice!)
- Link to v3: https://lore.kernel.org/r/20250726-as_bytes-v3-1-eb7514faab28@nvidia.com

Changes in v3:
- Use `ptr::from_ref` instead of `as *const T`.
- Link to v2: https://lore.kernel.org/r/20250725-as_bytes-v2-1-c6584c211a6c@nvidia.com

Changes in v2:
- Use `size_of_val` to provide a default implementation for both `Sized`
  and non-`Sized` types, and remove `AsBytesSized`. (thanks Alice!)
- Link to v1: https://lore.kernel.org/r/20250725-as_bytes-v1-1-6f06a3744f69@nvidia.com

---
Alexandre Courbot (2):
      rust: transmute: add `as_bytes` method for `AsBytes` trait
      rust: transmute: add `as_bytes_mut` method to `AsBytes` trait

 rust/kernel/transmute.rs | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)
---
base-commit: 14ae91a81ec8fa0bc23170d4aa16dd2a20d54105
change-id: 20250725-as_bytes-6cbc11f2e8c3

Best regards,
-- 
Alexandre Courbot <acourbot@nvidia.com>
Re: [PATCH v5 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait
Posted by Danilo Krummrich 1 month, 2 weeks ago
On 8/1/25 3:24 PM, Alexandre Courbot wrote:
> This is the sister patch of [1], providing an `as_bytes` method for
> `AsBytes`, and an `as_bytes_mut` accessor for types also implementing
> `FromBytes`.
> 
> It is going to be used in Nova, but should also be universally useful -
> if anything, it felt a bit strange that `AsBytes` did not provide this
> so far.

Miguel, any concerns taking this through the nova tree?
Re: [PATCH v5 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait
Posted by Miguel Ojeda 1 month, 2 weeks ago
On Tue, Aug 19, 2025 at 11:49 AM Danilo Krummrich <dakr@kernel.org> wrote:
>
> Miguel, any concerns taking this through the nova tree?

If it is needed for something this same cycle in Nova, then please go ahead:

Acked-by: Miguel Ojeda <ojeda@kernel.org>

Thanks!

Cheers,
Miguel
Re: [PATCH v5 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait
Posted by Alexandre Courbot 1 month, 2 weeks ago
On Thu Aug 21, 2025 at 11:38 PM JST, Miguel Ojeda wrote:
> On Tue, Aug 19, 2025 at 11:49 AM Danilo Krummrich <dakr@kernel.org> wrote:
>>
>> Miguel, any concerns taking this through the nova tree?
>
> If it is needed for something this same cycle in Nova, then please go ahead:
>
> Acked-by: Miguel Ojeda <ojeda@kernel.org>

Thanks Miguel! Yes, we are planning use it this cycle in Nova.

I'll push this into nova-next later today.