Re: [PATCH] rust: transmute: Add implementation for FromBytes trait

From: Dirk Behme
Date: Wed Oct 09 2024 - 09:04:50 EST


Am 09.10.24 um 03:47 schrieb Christian dos Santos de Lima:
Add implementation and documentation for FromBytes trait.

Add new feature block in order to allow using ToBytes
and bound to from_bytes_mut function.

Link: https://github.com/Rust-for-Linux/linux/issues/1119
Signed-off-by: Christian dos Santos de Lima <christiansantoslima21@xxxxxxxxx>
---
rust/kernel/lib.rs | 2 +
rust/kernel/transmute.rs | 302 +++++++++++++++++++++++++++++++++++++--
2 files changed, 290 insertions(+), 14 deletions(-)

...
--- a/rust/kernel/transmute.rs
+++ b/rust/kernel/transmute.rs
...
+unsafe impl FromBytes for u8 {
...
+unsafe impl FromBytes for u16 {
...
+unsafe impl FromBytes for u32 {
...
+unsafe impl FromBytes for u64 {
...
+unsafe impl FromBytes for usize {
...
+unsafe impl FromBytes for i8 {
...
+unsafe impl FromBytes for i16 {
...
+unsafe impl FromBytes for i32 {
...
+unsafe impl FromBytes for i64 {
...
+unsafe impl FromBytes for isize {
...

Asahi Lina's device tree code which reads the device tree node's data as a byte slice and then has to convert it

https://github.com/Fabo/linux/blob/9e496b356ee8e25f9bee9258491aa6ae3a4f1ddf/rust/kernel/of.rs#L390

uses macros to avoid code dublication:

prop_int_type!(u8);
prop_int_type!(u16);
prop_int_type!(u32);
prop_int_type!(u64);
prop_int_type!(i8);
prop_int_type!(i16);
prop_int_type!(i32);
prop_int_type!(i64);

Would anything like this be possible here, as well? To avoid code dublication?

Best regards

Dirk