]> Git Repo - J-linux.git/commitdiff
Merge tag 'drm-misc-fixes-2020-08-12' of git://anongit.freedesktop.org/drm/drm-misc...
authorDave Airlie <[email protected]>
Wed, 19 Aug 2020 03:54:22 +0000 (13:54 +1000)
committerDave Airlie <[email protected]>
Wed, 19 Aug 2020 03:54:42 +0000 (13:54 +1000)
drm-misc-fixes for v5.9-rc1:
- Add missing dma_fence_put() in virtio_gpu_execbuffer_ioctl().
- Fix memory leak in virtio_gpu_cleanup_object().

Signed-off-by: Dave Airlie <[email protected]>
From: Maarten Lankhorst <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1  2 
drivers/gpu/drm/virtio/virtgpu_ioctl.c
drivers/gpu/drm/virtio/virtgpu_object.c

index 7a2430e34e003b1edc82a10ef46945d70aedcf3b,19c5bc01eb790d7ab970b3d4273a4daeb08e6672..c8da7adc6b307b5c690335d5edec7bc27eb9a543
@@@ -179,6 -179,7 +179,7 @@@ static int virtio_gpu_execbuffer_ioctl(
  
        virtio_gpu_cmd_submit(vgdev, buf, exbuf->size,
                              vfpriv->ctx_id, buflist, out_fence);
+       dma_fence_put(&out_fence->f);
        virtio_gpu_notify(vgdev);
        return 0;
  
@@@ -278,7 -279,7 +279,7 @@@ static int virtio_gpu_resource_create_i
                drm_gem_object_release(obj);
                return ret;
        }
 -      drm_gem_object_put_unlocked(obj);
 +      drm_gem_object_put(obj);
  
        rc->res_handle = qobj->hw_res_handle; /* similiar to a VM address */
        rc->bo_handle = handle;
@@@ -300,7 -301,7 +301,7 @@@ static int virtio_gpu_resource_info_ioc
  
        ri->size = qobj->base.base.size;
        ri->res_handle = qobj->hw_res_handle;
 -      drm_gem_object_put_unlocked(gobj);
 +      drm_gem_object_put(gobj);
        return 0;
  }
  
@@@ -417,7 -418,7 +418,7 @@@ static int virtio_gpu_wait_ioctl(struc
        else if (ret > 0)
                ret = 0;
  
 -      drm_gem_object_put_unlocked(obj);
 +      drm_gem_object_put(obj);
        return ret;
  }
  
index 2cdd3cd9ce75fc44599310212aeec301fd68ee5f,703b5cd517519274ef7f159b61344b3f3490ce54..e83651b7747d5a64d6e7b748dbae4e68bbec5bcc
@@@ -79,6 -79,7 +79,7 @@@ void virtio_gpu_cleanup_object(struct v
                        }
  
                        sg_free_table(shmem->pages);
+                       kfree(shmem->pages);
                        shmem->pages = NULL;
                        drm_gem_shmem_unpin(&bo->base.base);
                }
@@@ -141,7 -142,7 +142,7 @@@ static int virtio_gpu_object_shmem_init
                                        struct virtio_gpu_mem_entry **ents,
                                        unsigned int *nents)
  {
 -      bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev);
 +      bool use_dma_api = !virtio_has_dma_quirk(vgdev->vdev);
        struct virtio_gpu_object_shmem *shmem = to_virtio_gpu_shmem(bo);
        struct scatterlist *sg;
        int si, ret;
        if (ret < 0)
                return -EINVAL;
  
 -      shmem->pages = drm_gem_shmem_get_sg_table(&bo->base.base);
 +      shmem->pages = drm_gem_shmem_get_pages_sgt(&bo->base.base);
        if (!shmem->pages) {
                drm_gem_shmem_unpin(&bo->base.base);
                return -EINVAL;
This page took 0.054218 seconds and 4 git commands to generate.