瀏覽代碼

drm: Fix error handling in drm_master_create

We need to check whether drm_ht_create succeed and clean up
if not.

Spotted by coverity.

Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter 11 年之前
父節點
當前提交
10e6856983
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/gpu/drm/drm_stub.c

+ 4 - 1
drivers/gpu/drm/drm_stub.c

@@ -128,7 +128,10 @@ struct drm_master *drm_master_create(struct drm_minor *minor)
 	kref_init(&master->refcount);
 	spin_lock_init(&master->lock.spinlock);
 	init_waitqueue_head(&master->lock.lock_queue);
-	drm_ht_create(&master->magiclist, DRM_MAGIC_HASH_ORDER);
+	if (drm_ht_create(&master->magiclist, DRM_MAGIC_HASH_ORDER)) {
+		kfree(master);
+		return NULL;
+	}
 	INIT_LIST_HEAD(&master->magicfree);
 	master->minor = minor;