drm/qxl: Do not leak memory if qxl_release_list_add fails

If the function fails reference counter to the object is not decremented
causing leaks.
This is hard to spot as it happens only on very low memory situations.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Cc: stable@vger.kernel.org
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Frediano Ziglio 2015-06-03 12:09:10 +01:00 коммит произвёл Dave Airlie
Родитель 2fa19535ca
Коммит 8451cc964c
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -122,8 +122,10 @@ static struct qxl_bo *qxlhw_handle_to_bo(struct qxl_device *qdev,
qobj = gem_to_qxl_bo(gobj);
ret = qxl_release_list_add(release, qobj);
if (ret)
if (ret) {
drm_gem_object_unreference_unlocked(gobj);
return NULL;
}
return qobj;
}