summaryrefslogtreecommitdiff
path: root/rust/bindgen_parameters
diff options
context:
space:
mode:
authorSami Tolvanen <samitolvanen@google.com>2026-10-19 23:34:38 +0000
committerMiguel Ojeda <ojeda@kernel.org>2026-10-22 15:36:01 +0200
commit39fe6892fd52faed6325ff7f13a92da01ab35727 (patch)
tree4ddda02266b64791703cf9039feb71a351dc3ac8 /rust/bindgen_parameters
parent01f3e6b4b1c8c1748e59ba53631ab1f5d9ad0ea4 (diff)
rust: hrtimer: declare cfi_encoding for hrtimer_restart
The hrtimer callbacks return bindings::hrtimer_restart, which bindgen generates as c_uint. C calls them through hrtimer->function, which returns enum hrtimer_restart. kCFI encodes enum types by name even with integer normalization, so the type ids never match and every call fails the CFI check. Generate hrtimer_restart as a newtype with a cfi_encoding, as is done for lru_status, and adapt HrTimerRestart to the newtype. Fixes: 8a8afe9349fb ("rust: hrtimer: introduce hrtimer support") Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Reviewed-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Tested-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Acked-by: Andreas Hindborg <a.hindborg@kernel.org> Reviewed-by: Gary Guo <gary@garyguo.net> Acked-by: Danilo Krummrich <dakr@kernel.org> Cc: stable@vger.kernel.org Link: https://patch.msgid.link/20261019-rust-cfi-fixes-v1-2-9503472ba738@google.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'rust/bindgen_parameters')
-rw-r--r--rust/bindgen_parameters2
1 files changed, 2 insertions, 0 deletions
diff --git a/rust/bindgen_parameters b/rust/bindgen_parameters
index 5059cc74cb3c..6003d5127676 100644
--- a/rust/bindgen_parameters
+++ b/rust/bindgen_parameters
@@ -27,6 +27,8 @@
--opaque-type spinlock
# enums that appear in indirect function calls should specify a cfi type
+--newtype-enum hrtimer_restart
+--with-attribute-custom-enum=hrtimer_restart='#[cfi_encoding="15hrtimer_restart"]'
--newtype-enum irqreturn
--with-attribute-custom-enum=irqreturn='#[cfi_encoding="9irqreturn"]'
--newtype-enum lru_status