| Date | Wed, 19 Jul 2023 14:21:06 +0000 | From | Benno Lossin <> | Subject | [PATCH v2 09/12] rust: init: implement Zeroable for Opaque<T> |
| |
Since `Opaque<T>` contains a `MaybeUninit<T>`, all bytes zero is a valid bit pattern for that type.
Signed-off-by: Benno Lossin <benno.lossin@proton.me> --- rust/kernel/types.rs | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs index d849e1979ac7..f0f540578d0f 100644 --- a/rust/kernel/types.rs +++ b/rust/kernel/types.rs @@ -11,6 +11,7 @@ ops::{Deref, DerefMut}, ptr::NonNull, }; +use macros::Zeroable; /// Used to transfer ownership to and from foreign (non-Rust) languages. /// @@ -251,6 +252,7 @@ fn drop(&mut self) { /// /// This is meant to be used with FFI objects that are never interpreted by Rust code. #[repr(transparent)] +#[derive(Zeroable)] pub struct Opaque<T> { value: UnsafeCell<MaybeUninit<T>>, _pin: PhantomPinned, -- 2.41.0
|