diff --git a/drivers/dma-buf/reservation.c b/drivers/dma-buf/reservation.c index c1618335ca99..4d32e2c67862 100644 --- a/drivers/dma-buf/reservation.c +++ b/drivers/dma-buf/reservation.c @@ -73,6 +73,8 @@ int reservation_object_reserve_shared(struct reservation_object *obj, struct reservation_object_list *old, *new; unsigned int i, j, k, max; + reservation_object_assert_held(obj); + old = reservation_object_get_list(obj); if (old && old->shared_max) { @@ -151,6 +153,8 @@ void reservation_object_add_shared_fence(struct reservation_object *obj, dma_fence_get(fence); + reservation_object_assert_held(obj); + fobj = reservation_object_get_list(obj); count = fobj->shared_count; @@ -196,6 +200,8 @@ void reservation_object_add_excl_fence(struct reservation_object *obj, struct reservation_object_list *old; u32 i = 0; + reservation_object_assert_held(obj); + old = reservation_object_get_list(obj); if (old) i = old->shared_count; @@ -236,6 +242,8 @@ int reservation_object_copy_fences(struct reservation_object *dst, size_t size; unsigned i; + reservation_object_assert_held(dst); + rcu_read_lock(); src_list = rcu_dereference(src->fence);