[PATCH] drm/xe: Fix bo leak in intel_fb_bo_framebuffer_init
Rodrigo Vivi
rodrigo.vivi at intel.com
Thu Mar 21 19:56:23 UTC 2024
On Thu, Mar 21, 2024 at 03:56:44PM +0100, Maarten Lankhorst wrote:
> Add a reference to bo after all error paths, to prevent leaking a bo
> ref.
>
> Return 0 to clarify that this is the success path.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Fixes: 44e694958b95 ("drm/xe/display: Implement display support")
> Cc: <stable at vger.kernel.org> # v6.8+
> ---
> drivers/gpu/drm/xe/display/intel_fb_bo.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/display/intel_fb_bo.c b/drivers/gpu/drm/xe/display/intel_fb_bo.c
> index b21da7b745a5..7262bbca9baf 100644
> --- a/drivers/gpu/drm/xe/display/intel_fb_bo.c
> +++ b/drivers/gpu/drm/xe/display/intel_fb_bo.c
> @@ -27,8 +27,6 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
> struct drm_i915_private *i915 = to_i915(bo->ttm.base.dev);
> int ret;
>
> - xe_bo_get(bo);
> -
> ret = ttm_bo_reserve(&bo->ttm, true, false, NULL);
> if (ret)
> return ret;
> @@ -48,7 +46,8 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
> }
> ttm_bo_unreserve(&bo->ttm);
>
> - return ret;
> + xe_bo_get(bo);
wouldn't be safer to keep the get in the beginning of everything else
and then if in an error path you xe_bo_put(bo); ?!
> + return 0;
> }
>
> struct xe_bo *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
> --
> 2.43.0
>
More information about the Intel-xe
mailing list