From fcbe6695541d50d2546f7d16f20294b186c90eaa Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Mon, 22 Mar 2021 11:28:43 +0530 Subject: [PATCH] msm: kgsl: Initialize fence only if it gets refcount on timeline kgsl_timeline_get can return NULL incase timeline pointer is NULL or refcount on timeline already went to zero. Current code is not checking this and going ahead with fence initialization which could result in invalid pointer access. Fix this by ensuring fence got a reference count on timeline before proceeding with initialization. Change-Id: I14d1355b1ea45e854bef8acf4afef53e0f4ceefc Signed-off-by: Deepak Kumar --- drivers/gpu/msm/kgsl_timeline.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/msm/kgsl_timeline.c b/drivers/gpu/msm/kgsl_timeline.c index fe01f29250dc..4249718c2d7f 100644 --- a/drivers/gpu/msm/kgsl_timeline.c +++ b/drivers/gpu/msm/kgsl_timeline.c @@ -299,6 +299,10 @@ struct dma_fence *kgsl_timeline_fence_alloc(struct kgsl_timeline *timeline, return ERR_PTR(-ENOMEM); fence->timeline = kgsl_timeline_get(timeline); + if (!fence->timeline) { + kfree(fence); + return ERR_PTR(-ENOENT); + } dma_fence_init(&fence->base, &timeline_fence_ops, &timeline->lock, timeline->context, seqno);