rust/kernel/net/netlink.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
Replace the kernel's own `transmute::FromBytes` and `AsBytes` traits
with their zerocopy equivalents. Specifically, this updates
`GenlMsg::put` to rely on `IntoBytes` for converting attributes into
byte slices.
Also, add `Immutable` trait bound on `GenlMsg::put` as zerocopy
splits the `no interior mutability` guarantee that `AsBytes` bundled
together.
Link: https://github.com/Rust-for-Linux/linux/issues/1241
Signed-off-by: Sagar Taunk <sagartaunk@proton.me>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
---
Changes Since V2: Follow vertical import style as told by Alexandre Courbot.
No functional changes.
rust/kernel/net/netlink.rs | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/rust/kernel/net/netlink.rs b/rust/kernel/net/netlink.rs
index 22ef3dde36fa..a2f4bd171dcf 100644
--- a/rust/kernel/net/netlink.rs
+++ b/rust/kernel/net/netlink.rs
@@ -12,7 +12,6 @@
alloc::{self, AllocError},
error::to_result,
prelude::*,
- transmute::AsBytes,
types::Opaque,
ThisModule,
};
@@ -22,6 +21,11 @@
ptr::NonNull, //
};
+use zerocopy::{
+ Immutable,
+ IntoBytes, //
+};
+
/// The default netlink message size.
pub const GENLMSG_DEFAULT_SIZE: usize = bindings::GENLMSG_DEFAULT_SIZE;
@@ -84,7 +88,7 @@ impl GenlMsg {
#[inline]
fn put<T>(&mut self, attrtype: c_int, value: &T) -> Result
where
- T: ?Sized + AsBytes,
+ T: ?Sized + IntoBytes + Immutable,
{
let skb = self.skb.skb.as_ptr();
let len = size_of_val(value);
--
2.55.0
On Tue, Sep 15, 2026 at 02:42:44PM +0000, Sagar Taunk wrote: > Replace the kernel's own `transmute::FromBytes` and `AsBytes` traits > with their zerocopy equivalents. Specifically, this updates > `GenlMsg::put` to rely on `IntoBytes` for converting attributes into > byte slices. > > Also, add `Immutable` trait bound on `GenlMsg::put` as zerocopy > splits the `no interior mutability` guarantee that `AsBytes` bundled > together. > > Link: https://github.com/Rust-for-Linux/linux/issues/1241 > Signed-off-by: Sagar Taunk <sagartaunk@proton.me> > Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Thanks, this change is ok with me. Reviewed-by: Alice Ryhl <aliceryhl@google.com> Can you send this to the net folks? Please update your patch title to [PATCH net-next vX] according to the guidelines outlined in: Documentation/process/maintainer-netdev.rst Alice
On Thu, 17 Sep 2026 09:32:58 +0000 Alice Ryhl wrote: > Can you send this to the net folks? Please update your patch title to > [PATCH net-next vX] according to the guidelines outlined in: Good note, please remember that next time, no need to repost this one.
© 2016 - 2026 Red Hat, Inc.