diff --git a/rust/kernel/drm/kms/plane.rs b/rust/kernel/drm/kms/plane.rs
index af64764601a5b037647193c1b33504b15894acaa..d1ecd24cb91027df92a6be4bebb5699e5e3da44d 100644
--- a/rust/kernel/drm/kms/plane.rs
+++ b/rust/kernel/drm/kms/plane.rs
@@ -509,7 +509,7 @@ unsafe impl<T: KmsDriver> ModeObject for OpaquePlane<T> {
 
     fn raw_mode_obj(&self) -> *mut bindings::drm_mode_object {
         // SAFETY: We don't expose DRM planes to users before `base` is initialized
-        unsafe { &mut ((*self.as_raw()).base) }
+        unsafe { addr_of_mut!((*self.as_raw()).base) }
     }
 }