[patch] drm/etnaviv: unlock on error in etnaviv_gem_get_iova()

SF Markus Elfring elfring at users.sourceforge.net
Mon Jan 4 05:48:48 PST 2016


> We have to drop a lock before returning -ENOMEM here.
> 
> Fixes: a8c21a5451d8 ('drm/etnaviv: add initial etnaviv DRM driver')
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> 
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> index 8d6f859..9f77c3b 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> @@ -305,8 +305,10 @@ int etnaviv_gem_get_iova(struct etnaviv_gpu *gpu,
>  	mapping = etnaviv_gem_get_vram_mapping(etnaviv_obj, NULL);
>  	if (!mapping) {
>  		mapping = kzalloc(sizeof(*mapping), GFP_KERNEL);
> -		if (!mapping)
> -			return -ENOMEM;
> +		if (!mapping) {
> +			ret = -ENOMEM;
> +			goto out;
> +		}
>  
>  		INIT_LIST_HEAD(&mapping->scan_node);
>  		mapping->object = etnaviv_obj;

How do you think about to reuse the jump label "unlock" there
like it is used in other source files?
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/gpu/drm/etnaviv/etnaviv_gem.c?id=a8c21a5451d831e67b7a6fb910f9ca8bc7b43554#n263

Regards,
Markus


More information about the dri-devel mailing list