[PATCH 2/5] drm/amdgpu: Fix the null pointer dereference to ras_manager

Lazar, Lijo lijo.lazar at amd.com
Mon May 13 10:21:56 UTC 2024



On 5/13/2024 2:26 PM, Ma Jun wrote:
> Check ras_manager before using it
> 
> Signed-off-by: Ma Jun <Jun.Ma2 at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> index 1dd13ed3b7b5..6da02a209890 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> @@ -2172,12 +2172,17 @@ static void amdgpu_ras_interrupt_process_handler(struct work_struct *work)
>  int amdgpu_ras_interrupt_dispatch(struct amdgpu_device *adev,
>  		struct ras_dispatch_if *info)
>  {
> -	struct ras_manager *obj = amdgpu_ras_find_obj(adev, &info->head);
> -	struct ras_ih_data *data = &obj->ih_data;
> +	struct ras_manager *obj;
> +	struct ras_ih_data *data;
>  
> +	obj = amdgpu_ras_find_obj(adev, &info->head);
>  	if (!obj)
>  		return -EINVAL;
>  
> +	data = &obj->ih_data;
> +	if (!data)
> +		return -EINVAL;

This check is not needed. ih_data is declared as below in ras_manager.

struct ras_ih_data ih_data;

Thanks,
Lijo

> +
>  	if (data->inuse == 0)
>  		return 0;
>  


More information about the amd-gfx mailing list