On 32-bit arm, `size_t` and 'uintptr_t` are incompatible,
which will trigger the static assertion.
The bug which this guard protects against
(https://github.com/rust-lang/rust-bindgen/issues/1671)
was fixed upstream as of rust-bindgen v0.53:
https://github.com/rust-lang/rust-bindgen/pull/1688
d650823839f7 ("Remove size_t to usize conversion")
The current recommended rust-bindgen version for building
the Linux kernel is v0.56, so the guard can be safely
dropped.
Out of an abundance of caution, remove the guard only
if building for 32-bit arm.
Signed-off-by: Sven Van Asbroeck <thesven73@gmail.com>
[normalized title]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
}
EXPORT_SYMBOL_GPL(rust_helper_kunmap);
+#if !defined(CONFIG_ARM)
// See https://github.com/rust-lang/rust-bindgen/issues/1671
static_assert(__builtin_types_compatible_p(size_t, uintptr_t),
"size_t must match uintptr_t, what architecture is this??");
+#endif