Commit 652ead9b authored by Maarten Lankhorst's avatar Maarten Lankhorst Committed by Lucas De Marchi
Browse files

drm/xe: Fix bo leak in intel_fb_bo_framebuffer_init



Add a unreference bo in the error path, to prevent leaking a bo ref.

Return 0 on success to clarify the success path.

Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fixes: 44e69495 ("drm/xe/display: Implement display support")
Cc: <stable@vger.kernel.org> # v6.8+
Reviewed-by: default avatarNirmoy Das <nirmoy.das@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240404090302.68422-1-maarten.lankhorst@linux.intel.com


(cherry picked from commit a2f3d731)
Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent 0bbac3fa
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,

	ret = ttm_bo_reserve(&bo->ttm, true, false, NULL);
	if (ret)
		return ret;
		goto err;

	if (!(bo->flags & XE_BO_SCANOUT_BIT)) {
		/*
@@ -42,12 +42,16 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
		 */
		if (XE_IOCTL_DBG(i915, !list_empty(&bo->ttm.base.gpuva.list))) {
			ttm_bo_unreserve(&bo->ttm);
			return -EINVAL;
			ret = -EINVAL;
			goto err;
		}
		bo->flags |= XE_BO_SCANOUT_BIT;
	}
	ttm_bo_unreserve(&bo->ttm);
	return 0;

err:
	xe_bo_put(bo);
	return ret;
}