Skip to content

Commit

Permalink
drm/xen-front: Fix misused IS_ERR_OR_NULL checks
Browse files Browse the repository at this point in the history
[ Upstream commit 14dee05 ]

The patch c575b7e: "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:  c575b7e: "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: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Oleksandr Andrushchenko authored and gregkh committed Sep 3, 2020
1 parent 02611bc commit 67f8b39
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/xen/xen_drm_front.c
Expand Up @@ -400,8 +400,8 @@ static int xen_drm_drv_dumb_create(struct drm_file *filp,
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;
}

Expand Down
8 changes: 4 additions & 4 deletions drivers/gpu/drm/xen/xen_drm_front_gem.c
Expand Up @@ -83,7 +83,7 @@ static struct xen_gem_object *gem_create(struct drm_device *dev, size_t size)

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) {
Expand Down Expand Up @@ -117,7 +117,7 @@ static struct xen_gem_object *gem_create(struct drm_device *dev, size_t size)
*/
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;
Expand All @@ -136,7 +136,7 @@ struct drm_gem_object *xen_drm_front_gem_create(struct drm_device *dev,
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;
Expand Down Expand Up @@ -194,7 +194,7 @@ xen_drm_front_gem_import_sg_table(struct drm_device *dev,

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);
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/xen/xen_drm_front_kms.c
Expand Up @@ -60,7 +60,7 @@ fb_create(struct drm_device *dev, struct drm_file *filp,
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 = drm_gem_object_lookup(filp, mode_cmd->handles[0]);
Expand Down

0 comments on commit 67f8b39

Please sign in to comment.