summaryrefslogtreecommitdiff
path: root/rust/uapi
diff options
context:
space:
mode:
authorBenno Lossin <lossin@kernel.org>2025-08-14 11:30:29 +0200
committerMiguel Ojeda <ojeda@kernel.org>2025-09-08 14:03:17 +0200
commit4846300ba8f9b725594cc2e77785057f536b50c1 (patch)
tree5f4c98856a18dbb84a05db551c46b29b1a4238fd /rust/uapi
parent3c847e17225aa9481fc3f6c948f5c718dea526f1 (diff)
downloadlinux-4846300ba8f9b725594cc2e77785057f536b50c1.tar.gz
linux-4846300ba8f9b725594cc2e77785057f536b50c1.tar.bz2
linux-4846300ba8f9b725594cc2e77785057f536b50c1.zip
rust: derive `Zeroable` for all structs & unions generated by bindgen where possible
Using the `--with-derive-custom-{struct,union}` option of bindgen, add `#[derive(MaybeZeroable)]` to every struct & union. This makes those types implement `Zeroable` if all their fields implement it. Sadly bindgen doesn't add custom derives to the `__BindgenBitfieldUnit` struct. So manually implement `Zeroable` for that. Signed-off-by: Benno Lossin <lossin@kernel.org> Reviewed-by: Alice Ryhl <aliceryhl@google.com> [ Formatted comment. - Miguel ] Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'rust/uapi')
-rw-r--r--rust/uapi/lib.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/rust/uapi/lib.rs b/rust/uapi/lib.rs
index 31c2f713313f..1d5fd9efb93e 100644
--- a/rust/uapi/lib.rs
+++ b/rust/uapi/lib.rs
@@ -34,4 +34,6 @@ type __kernel_size_t = usize;
type __kernel_ssize_t = isize;
type __kernel_ptrdiff_t = isize;
+use pin_init::MaybeZeroable;
+
include!(concat!(env!("OBJTREE"), "/rust/uapi/uapi_generated.rs"));