[Devel] [PATCH RHEL8 COMMIT] ms/drm/qxl: qxl_release leak in qxl_hw_surface_alloc()

Konstantin Khorenko khorenko at virtuozzo.com
Thu Apr 30 19:14:11 MSK 2020


The commit is pushed to "branch-rh8-4.18.0-80.1.2.vz8.3.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-80.1.2.vz8.3.7
------>
commit 8d00fbd79e281dc2f2c49fae94f366e84e6fd15f
Author: Vasily Averin <vvs at virtuozzo.com>
Date:   Mon Apr 27 14:05:58 2020 +0300

    ms/drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
    
    Cc: stable at vger.kernel.org
    mFixes: 8002db6336dd ("qxl: convert qxl driver to proper use for reservations")
    Signed-off-by: Vasily Averin <vvs at virtuozzo.com>
---
 drivers/gpu/drm/qxl/qxl_cmd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c
index 208af9f37914..a043591a0aa1 100644
--- a/drivers/gpu/drm/qxl/qxl_cmd.c
+++ b/drivers/gpu/drm/qxl/qxl_cmd.c
@@ -472,9 +472,10 @@ int qxl_hw_surface_alloc(struct qxl_device *qdev,
 		return ret;
 
 	ret = qxl_release_reserve_list(release, true);
-	if (ret)
+	if (ret) {
+		qxl_release_free(qdev, release);
 		return ret;
-
+	}
 	cmd = (struct qxl_surface_cmd *)qxl_release_map(qdev, release);
 	cmd->type = QXL_SURFACE_CMD_CREATE;
 	cmd->flags = QXL_SURF_FLAG_KEEP_DATA;


More information about the Devel mailing list