From: Maarten Lankhorst Date: Wed, 3 Sep 2014 15:01:28 +0000 (+0200) Subject: drm/qxl: fix gaping memory hole X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=b75402c9f98a431ae352a223153825513eac9600;p=deliverable%2Flinux.git drm/qxl: fix gaping memory hole This is how you implement a memory sieve in a driver. ;-) Signed-off-by: Maarten Lankhorst --- diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c index 828d47e90dce..29ab4ec44c40 100644 --- a/drivers/gpu/drm/qxl/qxl_release.c +++ b/drivers/gpu/drm/qxl/qxl_release.c @@ -162,12 +162,14 @@ static void qxl_release_free_list(struct qxl_release *release) { while (!list_empty(&release->bos)) { - struct ttm_validate_buffer *entry; + struct qxl_bo_list *entry; + struct qxl_bo *bo; entry = container_of(release->bos.next, - struct ttm_validate_buffer, head); - - list_del(&entry->head); + struct qxl_bo_list, tv.head); + bo = to_qxl_bo(entry->tv.bo); + qxl_bo_unref(&bo); + list_del(&entry->tv.head); kfree(entry); } }