diff options
| author | Benno Lossin <lossin@kernel.org> | 2025-08-14 12:30:29 +0300 |
|---|---|---|
| committer | Miguel Ojeda <ojeda@kernel.org> | 2025-09-08 15:03:17 +0300 |
| commit | 4846300ba8f9b725594cc2e77785057f536b50c1 (patch) | |
| tree | 5f4c98856a18dbb84a05db551c46b29b1a4238fd /rust/bindgen_parameters | |
| parent | 3c847e17225aa9481fc3f6c948f5c718dea526f1 (diff) | |
| download | linux-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_parameters | 4 |
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 |
