Message ID | 1440664265-20641-1-git-send-email-jy0922.shim@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2015-08-27 17:31 GMT+09:00 Joonyoung Shim <jy0922.shim@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@oracle.com> > Signed-off-by: Joonyoung Shim <jy0922.shim@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] We can simply return ERR_PTR(ret) and I just fixed it. > > exynos_gem_obj->dma_addr = sg_dma_address(sgt->sgl); > > -- > 1.9.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel
On 08/31/2015 01:10 AM, Inki Dae wrote: > 2015-08-27 17:31 GMT+09:00 Joonyoung Shim <jy0922.shim@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@oracle.com> >> Signed-off-by: Joonyoung Shim <jy0922.shim@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?
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; exynos_gem_obj->dma_addr = sg_dma_address(sgt->sgl);
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@oracle.com> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> --- drivers/gpu/drm/exynos/exynos_drm_gem.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)