accel/ivpu: Use dma_resv_lock() instead of a custom mutex
authorJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Wed, 28 May 2025 15:43:25 +0000 (17:43 +0200)
committerJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Thu, 5 Jun 2025 12:36:37 +0000 (14:36 +0200)
commit98d3f772ca7d6822bdfc8c960f5f909574db97c9
treeb9496fccb1d6eb758a26b89acab156e7030a57e4
parent5dc1ea903588a73fb03b3a3e5a041a7c63a4bccd
accel/ivpu: Use dma_resv_lock() instead of a custom mutex

This fixes a potential race conditions in:
 - ivpu_bo_unbind_locked() where we modified the shmem->sgt without
   holding the dma_resv_lock().
 - ivpu_bo_print_info() where we read the shmem->pages without
   holding the dma_resv_lock().

Using dma_resv_lock() also protects against future syncronisation
issues that may arise when accessing drm_gem_shmem_object or
drm_gem_object members.

Fixes: 42328003ecb6 ("accel/ivpu: Refactor BO creation functions")
Cc: stable@vger.kernel.org # v6.9+
Reviewed-by: Lizhi Hou <lizhi.hou@amd.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://lore.kernel.org/r/20250528154325.500684-1-jacek.lawrynowicz@linux.intel.com
drivers/accel/ivpu/ivpu_gem.c
drivers/accel/ivpu/ivpu_gem.h