| From 14dee058610446aa464254fc5c8e88c7535195e0 Mon Sep 17 00:00:00 2001 |
| From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> |
| Date: Thu, 13 Aug 2020 09:21:10 +0300 |
| Subject: drm/xen-front: Fix misused IS_ERR_OR_NULL checks |
| |
| From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> |
| |
| commit 14dee058610446aa464254fc5c8e88c7535195e0 upstream. |
| |
| The patch c575b7eeb89f: "drm/xen-front: Add support for Xen PV |
| display frontend" from Apr 3, 2018, leads to the following static |
| checker warning: |
| |
| drivers/gpu/drm/xen/xen_drm_front_gem.c:140 xen_drm_front_gem_create() |
| warn: passing zero to 'ERR_CAST' |
| |
| drivers/gpu/drm/xen/xen_drm_front_gem.c |
| 133 struct drm_gem_object *xen_drm_front_gem_create(struct drm_device *dev, |
| 134 size_t size) |
| 135 { |
| 136 struct xen_gem_object *xen_obj; |
| 137 |
| 138 xen_obj = gem_create(dev, size); |
| 139 if (IS_ERR_OR_NULL(xen_obj)) |
| 140 return ERR_CAST(xen_obj); |
| |
| Fix this and the rest of misused places with IS_ERR_OR_NULL in the |
| driver. |
| |
| Fixes: c575b7eeb89f: "drm/xen-front: Add support for Xen PV display frontend" |
| |
| Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> |
| Reported-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Cc: <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20200813062113.11030-3-andr2000@gmail.com |
| Signed-off-by: Juergen Gross <jgross@suse.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/xen/xen_drm_front.c | 4 ++-- |
| drivers/gpu/drm/xen/xen_drm_front_gem.c | 8 ++++---- |
| drivers/gpu/drm/xen/xen_drm_front_kms.c | 2 +- |
| 3 files changed, 7 insertions(+), 7 deletions(-) |
| |
| --- a/drivers/gpu/drm/xen/xen_drm_front.c |
| +++ b/drivers/gpu/drm/xen/xen_drm_front.c |
| @@ -400,8 +400,8 @@ static int xen_drm_drv_dumb_create(struc |
| args->size = args->pitch * args->height; |
| |
| obj = xen_drm_front_gem_create(dev, args->size); |
| - if (IS_ERR_OR_NULL(obj)) { |
| - ret = PTR_ERR_OR_ZERO(obj); |
| + if (IS_ERR(obj)) { |
| + ret = PTR_ERR(obj); |
| goto fail; |
| } |
| |
| --- a/drivers/gpu/drm/xen/xen_drm_front_gem.c |
| +++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c |
| @@ -83,7 +83,7 @@ static struct xen_gem_object *gem_create |
| |
| size = round_up(size, PAGE_SIZE); |
| xen_obj = gem_create_obj(dev, size); |
| - if (IS_ERR_OR_NULL(xen_obj)) |
| + if (IS_ERR(xen_obj)) |
| return xen_obj; |
| |
| if (drm_info->front_info->cfg.be_alloc) { |
| @@ -117,7 +117,7 @@ static struct xen_gem_object *gem_create |
| */ |
| xen_obj->num_pages = DIV_ROUND_UP(size, PAGE_SIZE); |
| xen_obj->pages = drm_gem_get_pages(&xen_obj->base); |
| - if (IS_ERR_OR_NULL(xen_obj->pages)) { |
| + if (IS_ERR(xen_obj->pages)) { |
| ret = PTR_ERR(xen_obj->pages); |
| xen_obj->pages = NULL; |
| goto fail; |
| @@ -136,7 +136,7 @@ struct drm_gem_object *xen_drm_front_gem |
| struct xen_gem_object *xen_obj; |
| |
| xen_obj = gem_create(dev, size); |
| - if (IS_ERR_OR_NULL(xen_obj)) |
| + if (IS_ERR(xen_obj)) |
| return ERR_CAST(xen_obj); |
| |
| return &xen_obj->base; |
| @@ -194,7 +194,7 @@ xen_drm_front_gem_import_sg_table(struct |
| |
| size = attach->dmabuf->size; |
| xen_obj = gem_create_obj(dev, size); |
| - if (IS_ERR_OR_NULL(xen_obj)) |
| + if (IS_ERR(xen_obj)) |
| return ERR_CAST(xen_obj); |
| |
| ret = gem_alloc_pages_array(xen_obj, size); |
| --- a/drivers/gpu/drm/xen/xen_drm_front_kms.c |
| +++ b/drivers/gpu/drm/xen/xen_drm_front_kms.c |
| @@ -60,7 +60,7 @@ fb_create(struct drm_device *dev, struct |
| int ret; |
| |
| fb = drm_gem_fb_create_with_funcs(dev, filp, mode_cmd, &fb_funcs); |
| - if (IS_ERR_OR_NULL(fb)) |
| + if (IS_ERR(fb)) |
| return fb; |
| |
| gem_obj = fb->obj[0]; |