From 7738c42ba9d4549fbdf2322cb9314835f30a1cf8 Mon Sep 17 00:00:00 2001
From: Lyude Paul <lyude@redhat.com>
Date: Thu, 13 Feb 2025 19:23:20 -0500
Subject: [PATCH] fixup! WIP: rust: drm/kms: Add VblankSupport

---
 rust/kernel/drm/kms/vblank.rs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/rust/kernel/drm/kms/vblank.rs b/rust/kernel/drm/kms/vblank.rs
index a33db0f6cf70f..d8ac61a829c08 100644
--- a/rust/kernel/drm/kms/vblank.rs
+++ b/rust/kernel/drm/kms/vblank.rs
@@ -208,7 +208,8 @@ impl<T: VblankDriverCrtc> Crtc<T> {
     /// dropped.
     pub fn vblank_lock<'a>(&'a self, irq: IrqDisabled<'a>) -> VblankGuard<'a, T> {
         // SAFETY: `vbl_lock` is initialized for as long as `Crtc` is available to users
-        unsafe { bindings::spin_lock(&mut (*self.drm_dev().as_raw()).vbl_lock) };
+        // INVARIANT: We just acquired `vbl_lock`, fulfilling the invariants of `VblankGuard`
+        unsafe { bindings::spin_lock(addr_of_mut!((*self.drm_dev().as_raw()).vbl_lock)) };
 
         // SAFETY: We just acquired vbl_lock above
         unsafe { VblankGuard::new(self, irq) }
-- 
GitLab