OSDN Git Service

drm: Fix an error pointer dereference()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 17 Dec 2018 07:00:38 +0000 (10:00 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 17 Dec 2018 09:47:17 +0000 (10:47 +0100)
The drm_mode_create_tile_group() is only called from
drm_parse_tiled_block() and the caller expects it to return a NULL on
error.  In other words, this function should match
drm_mode_get_tile_group().

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20181217065733.GA12159@kadam
drivers/gpu/drm/drm_connector.c

index fa9baac..f0dd331 100644 (file)
@@ -1960,7 +1960,7 @@ EXPORT_SYMBOL(drm_mode_get_tile_group);
  * identifier for the tile group.
  *
  * RETURNS:
- * new tile group or error.
+ * new tile group or NULL.
  */
 struct drm_tile_group *drm_mode_create_tile_group(struct drm_device *dev,
                                                  char topology[8])
@@ -1970,7 +1970,7 @@ struct drm_tile_group *drm_mode_create_tile_group(struct drm_device *dev,
 
        tg = kzalloc(sizeof(*tg), GFP_KERNEL);
        if (!tg)
-               return ERR_PTR(-ENOMEM);
+               return NULL;
 
        kref_init(&tg->refcount);
        memcpy(tg->group_data, topology, 8);
@@ -1982,7 +1982,7 @@ struct drm_tile_group *drm_mode_create_tile_group(struct drm_device *dev,
                tg->id = ret;
        } else {
                kfree(tg);
-               tg = ERR_PTR(ret);
+               tg = NULL;
        }
 
        mutex_unlock(&dev->mode_config.idr_mutex);