diff --git a/rust/kernel/drm/kms/plane.rs b/rust/kernel/drm/kms/plane.rs index c7dcc799d91f87dc8cd0a00faa5685979906da5d..f12cfd708d26cfd559db15e6f47851b18a244806 100644 --- a/rust/kernel/drm/kms/plane.rs +++ b/rust/kernel/drm/kms/plane.rs @@ -404,7 +404,10 @@ impl<T: KmsDriver> AsRawPlane for OpaquePlane<T> { } } -impl<T: KmsDriver> ModeObject for OpaquePlane<T> { +// SAFETY: We don't expose OpaquePlane<T> to users before `base` is initialized in +// Plane::<T>::new(), so `raw_mode_obj` always returns a valid poiner to a +// bindings::drm_mode_object. +unsafe impl<T: KmsDriver> ModeObject for OpaquePlane<T> { type Driver = T; fn drm_dev(&self) -> &Device<Self::Driver> {