OSDN Git Service

drm/xen-front: Fix misused IS_ERR_OR_NULL checks
authorOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Thu, 13 Aug 2020 06:21:10 +0000 (09:21 +0300)
committerJuergen Gross <jgross@suse.com>
Thu, 13 Aug 2020 10:50:25 +0000 (12:50 +0200)
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>
drivers/gpu/drm/xen/xen_drm_front.c
drivers/gpu/drm/xen/xen_drm_front_gem.c
drivers/gpu/drm/xen/xen_drm_front_kms.c

index 1fd458e..51818e7 100644 (file)
@@ -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;
        }
 
index f0b85e0..4ec8a49 100644 (file)
@@ -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) {
@@ -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;
@@ -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;
@@ -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);
index 78096bb..ef11b1e 100644 (file)
@@ -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 = fb->obj[0];