[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