[PATCH 10/14] drm/exynos: remove function check_gem_flags

Inki Dae inki.dae at samsung.com
Sat Aug 15 22:14:21 PDT 2015


On 2015년 07월 28일 17:53, Joonyoung Shim wrote:
> The function check_gem_flags is too simple, so it's better to move codes
> in each consumer functions.
> 
> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_gem.c | 24 ++++++++----------------
>  1 file changed, 8 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> index ab7d029..03e85d8 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> @@ -20,16 +20,6 @@
>  #include "exynos_drm_buf.h"
>  #include "exynos_drm_iommu.h"
>  
> -static int check_gem_flags(unsigned int flags)
> -{
> -	if (flags & ~(EXYNOS_BO_MASK)) {
> -		DRM_ERROR("invalid flags.\n");
> -		return -EINVAL;
> -	}
> -
> -	return 0;
> -}
> -
>  static void update_vm_cache_attr(struct exynos_drm_gem_obj *obj,
>  					struct vm_area_struct *vma)
>  {
> @@ -169,6 +159,11 @@ struct exynos_drm_gem_obj *exynos_drm_gem_create(struct drm_device *dev,
>  	struct exynos_drm_gem_buf *buf;
>  	int ret;
>  
> +	if (flags & ~(EXYNOS_BO_MASK)) {
> +		DRM_ERROR("invalid flags.\n");
> +		return ERR_PTR(-EINVAL);
> +	}
> +
>  	if (!size) {
>  		DRM_ERROR("invalid size.\n");
>  		return ERR_PTR(-EINVAL);
> @@ -176,10 +171,6 @@ struct exynos_drm_gem_obj *exynos_drm_gem_create(struct drm_device *dev,
>  
>  	size = roundup_gem_size(size, flags);
>  
> -	ret = check_gem_flags(flags);
> -	if (ret)
> -		return ERR_PTR(ret);
> -
>  	buf = exynos_drm_init_buf(dev, size);
>  	if (!buf)
>  		return ERR_PTR(-ENOMEM);
> @@ -584,9 +575,10 @@ int exynos_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
>  	obj = vma->vm_private_data;
>  	exynos_gem_obj = to_exynos_gem_obj(obj);
>  
> -	ret = check_gem_flags(exynos_gem_obj->flags);
> -	if (ret)
> +	if (exynos_gem_obj->flags & ~(EXYNOS_BO_MASK)) {
> +		DRM_ERROR("invalid flags.\n");
>  		goto err_close_vm;
> +	}

I will remove above checking as Daniel Stone commented because user
space cannot control the flag.

Thanks,
Inki Dae

>  
>  	update_vm_cache_attr(exynos_gem_obj, vma);
>  
> 



More information about the dri-devel mailing list