Mark the access to reservation_object.fence as being protected to
silence sparse.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 include/linux/reservation.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/linux/reservation.h b/include/linux/reservation.h
index ee750765cc94..644a22dbe53b 100644
--- a/include/linux/reservation.h
+++ b/include/linux/reservation.h
@@ -216,8 +216,12 @@ reservation_object_unlock(struct reservation_object *obj)
 {
 #ifdef CONFIG_DEBUG_MUTEXES
        /* Test shared fence slot reservation */
-       if (obj->fence)
-               obj->fence->shared_max = obj->fence->shared_count;
+       if (rcu_access_pointer(obj->fence)) {
+               struct reservation_object_list *fence =
+                       reservation_object_get_list(obj);
+
+               fence->shared_max = fence->shared_count;
+       }
 #endif
        ww_mutex_unlock(&obj->lock);
 }
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to