udmabuf: Don't assert held reservation lock for dma-buf mmapping
authorDmitry Osipenko <dmitry.osipenko@collabora.com>
Mon, 29 May 2023 22:39:32 +0000 (01:39 +0300)
committerDmitry Osipenko <dmitry.osipenko@collabora.com>
Wed, 21 Jun 2023 17:22:20 +0000 (20:22 +0300)
Don't assert held dma-buf reservation lock on memory mapping of exported
buffer.

We're going to change dma-buf mmap() locking policy such that exporters
will have to handle the lock. The previous locking policy caused deadlock
problem for DRM drivers in a case of self-imported dma-bufs once these
drivers are moved to use reservation lock universally. The problem is
solved by moving the lock down to exporters. This patch prepares udmabuf
for the locking policy update.

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230529223935.2672495-4-dmitry.osipenko@collabora.com
drivers/dma-buf/udmabuf.c

index 01f2e86..06729cd 100644 (file)
@@ -52,8 +52,6 @@ static int mmap_udmabuf(struct dma_buf *buf, struct vm_area_struct *vma)
 {
        struct udmabuf *ubuf = buf->priv;
 
-       dma_resv_assert_held(buf->resv);
-
        if ((vma->vm_flags & (VM_SHARED | VM_MAYSHARE)) == 0)
                return -EINVAL;