Re: [PATCH 7/8] drm/vmwgfx: Inline vmw_verify_access()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]<

 



On 4/6/21 5:09 AM, Thomas Zimmermann wrote:
Vmwgfx is the only user of the TTM's verify_access callback. Inline
the call and avoid the indirection through the function pointer.

Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
---
  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 9 ---------
  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c   | 7 ++-----
  2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
index 2dc031fe4a90..a079734f9d68 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
@@ -658,14 +658,6 @@ static void vmw_evict_flags(struct ttm_buffer_object *bo,
  	*placement = vmw_sys_placement;
  }
-static int vmw_verify_access(struct ttm_buffer_object *bo, struct file *filp)
-{
-	struct ttm_object_file *tfile =
-		vmw_fpriv((struct drm_file *)filp->private_data)->tfile;
-
-	return vmw_user_bo_verify_access(bo, tfile);
-}
-
  static int vmw_ttm_io_mem_reserve(struct ttm_device *bdev, struct ttm_resource *mem)
  {
  	struct vmw_private *dev_priv = container_of(bdev, struct vmw_private, bdev);
@@ -768,7 +760,6 @@ struct ttm_device_funcs vmw_bo_driver = {
  	.eviction_valuable = ttm_bo_eviction_valuable,
  	.evict_flags = vmw_evict_flags,
  	.move = vmw_move,
-	.verify_access = vmw_verify_access,
  	.swap_notify = vmw_swap_notify,
  	.io_mem_reserve = &vmw_ttm_io_mem_reserve,
  };
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
index 3eaad00668f2..2574d4707407 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
@@ -65,6 +65,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
  	};
  	struct drm_file *file_priv = filp->private_data;
  	struct vmw_private *dev_priv = vmw_priv(file_priv->minor->dev);
+	struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile;
  	struct ttm_device *bdev = &dev_priv->bdev;
  	struct ttm_buffer_object *bo;
  	int ret;
@@ -76,11 +77,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
  	if (unlikely(!bo))
  		return -EINVAL;
- if (unlikely(!bo->bdev->funcs->verify_access)) {
-		ret = -EPERM;
-		goto out_unref;
-	}
-	ret = bo->bdev->funcs->verify_access(bo, filp);
+	ret = vmw_user_bo_verify_access(bo, tfile);
  	if (unlikely(ret != 0))
  		goto out_unref;

Looks great.

Reviewed-by: Zack Rusin <zackr@xxxxxxxxxx>

z

_______________________________________________
Nouveau mailing list
Nouveau@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/nouveau



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux