[PATCH] drm/exynos: fix exynos_drm_gem_prime_import_sg_table() error handling

Joonyoung Shim jy0922.shim at samsung.com
Mon Aug 31 23:11:00 PDT 2015


On 08/31/2015 01:10 AM, Inki Dae wrote:
> 2015-08-27 17:31 GMT+09:00 Joonyoung Shim <jy0922.shim at samsung.com>:
>> If exynos_drm_gem_init() is failed, the result is ERR_PTR, so we should
>> just return the result. If not, wrong porinter will be referenced from
>> err label.
>>
>> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
>> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
>> ---
>>  drivers/gpu/drm/exynos/exynos_drm_gem.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c
>> index 3e4a64a..4842a31 100644
>> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
>> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
>> @@ -569,10 +569,8 @@ exynos_drm_gem_prime_import_sg_table(struct drm_device *dev,
>>         int ret;
>>
>>         exynos_gem_obj = exynos_drm_gem_init(dev, attach->dmabuf->size);
>> -       if (IS_ERR(exynos_gem_obj)) {
>> -               ret = PTR_ERR(exynos_gem_obj);
>> -               goto err;
>> -       }
>> +       if (IS_ERR(exynos_gem_obj))
>> +               return exynos_gem_obj;
> 
> This patch incurs below build warning,
> 
> drivers/gpu/drm/exynos/exynos_drm_gem.c: In function
> 'exynos_drm_gem_prime_import_sg_table':
> drivers/gpu/drm/exynos/exynos_drm_gem.c:670:3: warning: return from
> incompatible pointer type [enabled by default]

Oops, i didn't check this warning.

> 
> We can simply return ERR_PTR(ret) and I just fixed it.
> 

Is it better to just return (void *)exynos_gem_obj instead of exynos_gem_obj?


More information about the dri-devel mailing list