]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
rust: map `__kernel_size_t` and friends also to usize/isize
authorGary Guo <gary@garyguo.net>
Fri, 7 Mar 2025 22:50:05 +0000 (23:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 12:01:48 +0000 (13:01 +0100)
commit0ea8582faa7692d1082f74990d527ee7f1259bb5
treea6142c410c304758daca9b9707c5af50d06cf380
parent240529d8556e0786acbd605cbeffc0aee5747feb
rust: map `__kernel_size_t` and friends also to usize/isize

commit 2fd6f55c048d0c863ffbc8590b1bd2edb5ff13e5 upstream.

Currently bindgen has special logic to recognise `size_t` and `ssize_t`
and map them to Rust `usize` and `isize`. Similarly, `ptrdiff_t` is
mapped to `isize`.

However this falls short for `__kernel_size_t`, `__kernel_ssize_t` and
`__kernel_ptrdiff_t`. To ensure that they are mapped to usize/isize
rather than 32/64 integers depending on platform, blocklist them in
bindgen parameters and manually provide their definition.

Signed-off-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Trevor Gross <tmgross@umich.edu>
Link: https://lore.kernel.org/r/20240913213041.395655-3-gary@garyguo.net
[ Formatted comment. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
rust/bindgen_parameters
rust/bindings/lib.rs
rust/uapi/lib.rs