[PATCH][next] drm/amdkfd: fix a dereference of pdd before it is null checked

Felix Kuehling felix.kuehling at amd.com
Fri May 29 02:06:14 UTC 2020


On 2020-05-28 18:24, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Currently pointer pdd is being dereferenced when assigning pointer
> dpm and then pdd is being null checked.  Fix this by checking if
> pdd is null before the dereference of pdd occurs.
>
> Addresses-Coverity: ("Dereference before null check")
> Fixes: 522b89c63370 ("drm/amdkfd: Track SDMA utilization per process")
> Signed-off-by: Colin Ian King <colin.king at canonical.com>

Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>

I applied the patch to our internal amd-staging-drm-next.

Regards,
   Felix


> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_process.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> index 25636789f3d3..bdc58741b32e 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> @@ -103,10 +103,11 @@ static void kfd_sdma_activity_worker(struct work_struct *work)
>   		return;
>   
>   	pdd = workarea->pdd;
> +	if (!pdd)
> +		return;
>   	dqm = pdd->dev->dqm;
>   	qpd = &pdd->qpd;
> -
> -	if (!pdd || !dqm || !qpd)
> +	if (!dqm || !qpd)
>   		return;
>   
>   	mm = get_task_mm(pdd->process->lead_thread);


More information about the amd-gfx mailing list