summaryrefslogtreecommitdiff
path: root/rust/bindgen_parameters
diff options
context:
space:
mode:
authorBenno Lossin <lossin@kernel.org>2025-08-14 12:30:29 +0300
committerMiguel Ojeda <ojeda@kernel.org>2025-09-08 15:03:17 +0300
commit4846300ba8f9b725594cc2e77785057f536b50c1 (patch)
tree5f4c98856a18dbb84a05db551c46b29b1a4238fd /rust/bindgen_parameters
parent3c847e17225aa9481fc3f6c948f5c718dea526f1 (diff)
downloadlinux-4846300ba8f9b725594cc2e77785057f536b50c1.tar.xz
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/bindgen_parameters')
-rw-r--r--rust/bindgen_parameters4
1 files changed, 4 insertions, 0 deletions
diff --git a/rust/bindgen_parameters b/rust/bindgen_parameters
index 02b371b98b39..e13c6f9dd17b 100644
--- a/rust/bindgen_parameters
+++ b/rust/bindgen_parameters
@@ -35,3 +35,7 @@
# recognized, block generation of the non-helper constants.
--blocklist-item ARCH_SLAB_MINALIGN
--blocklist-item ARCH_KMALLOC_MINALIGN
+
+# Structs should implement `Zeroable` when all of their fields do.
+--with-derive-custom-struct .*=MaybeZeroable
+--with-derive-custom-union .*=MaybeZeroable