From 62bfa6900ca37e6dac5d91d52963c2222017102a Mon Sep 17 00:00:00 2001 From: Sven Van Asbroeck Date: Tue, 13 Apr 2021 10:45:47 -0400 Subject: [PATCH] rust/arm 32-bit: remove guard for rust-bindgen bug 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 --- rust/helpers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rust/helpers.c b/rust/helpers.c index 4cae8c27f8f927..133fe9119990f8 100644 --- a/rust/helpers.c +++ b/rust/helpers.c @@ -81,6 +81,8 @@ void rust_helper_kunmap(struct page *page) } 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