]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rust: time: Fix compile error in impl_has_hr_timer macro
authorFUJITA Tomonori <fujita.tomonori@gmail.com>
Fri, 6 Jun 2025 02:05:05 +0000 (11:05 +0900)
committerMiguel Ojeda <ojeda@kernel.org>
Tue, 10 Jun 2025 18:11:36 +0000 (20:11 +0200)
Fix a compile error in the `impl_has_hr_timer!` macro as follows:

error[E0599]: no method named cast_mut found for raw pointer *mut Foo in the current scope

The `container_of!` macro already returns a mutable pointer when used
in a `*mut T` context so the `.cast_mut()` method is not available.

[ We missed this one because there is no caller yet and it is
  a macro. - Miguel ]

Fixes: 74d6a606c2b3 ("rust: retain pointer mut-ness in `container_of!`")
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Andreas Hindborg <a.hindborg@kernel.org>
Link: https://lore.kernel.org/r/20250606020505.3186533-1-fujita.tomonori@gmail.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/time/hrtimer.rs

index 9df3dcd2fa3942f75ee8471459734621f8dfb16a..36e1290cd0798d1395cc29521b67624fed41cb4f 100644 (file)
@@ -517,7 +517,7 @@ macro_rules! impl_has_hr_timer {
             ) -> *mut Self {
                 // SAFETY: As per the safety requirement of this function, `ptr`
                 // is pointing inside a `$timer_type`.
-                unsafe { ::kernel::container_of!(ptr, $timer_type, $field).cast_mut() }
+                unsafe { ::kernel::container_of!(ptr, $timer_type, $field) }
             }
         }
     }