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>
This commit is contained in:
parent
8268bd48af
commit
10e6856983
@ -128,7 +128,10 @@ struct drm_master *drm_master_create(struct drm_minor *minor)
|
|||||||
kref_init(&master->refcount);
|
kref_init(&master->refcount);
|
||||||
spin_lock_init(&master->lock.spinlock);
|
spin_lock_init(&master->lock.spinlock);
|
||||||
init_waitqueue_head(&master->lock.lock_queue);
|
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);
|
INIT_LIST_HEAD(&master->magicfree);
|
||||||
master->minor = minor;
|
master->minor = minor;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user