Re: [PATCH 1/2] drm/amdgpu: Fix uninitialized variable warning in amdgpu_info_ioctl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 6, 2024 at 6:22 AM Ma Jun <Jun.Ma2@xxxxxxx> wrote:
>
> Check the return value of amdgpu_xcp_get_inst_details, otherwise we
> may use an uninitialized variable inst_mask
>
> Signed-off-by: Ma Jun <Jun.Ma2@xxxxxxx>

Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index a0ea6fe8d060..977cde6d1362 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -623,25 +623,32 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
>                         switch (type) {
>                         case AMD_IP_BLOCK_TYPE_GFX:
>                                 ret = amdgpu_xcp_get_inst_details(xcp, AMDGPU_XCP_GFX, &inst_mask);
> +                               if (ret)
> +                                       return ret;
>                                 count = hweight32(inst_mask);
>                                 break;
>                         case AMD_IP_BLOCK_TYPE_SDMA:
>                                 ret = amdgpu_xcp_get_inst_details(xcp, AMDGPU_XCP_SDMA, &inst_mask);
> +                               if (ret)
> +                                       return ret;
>                                 count = hweight32(inst_mask);
>                                 break;
>                         case AMD_IP_BLOCK_TYPE_JPEG:
>                                 ret = amdgpu_xcp_get_inst_details(xcp, AMDGPU_XCP_VCN, &inst_mask);
> +                               if (ret)
> +                                       return ret;
>                                 count = hweight32(inst_mask) * adev->jpeg.num_jpeg_rings;
>                                 break;
>                         case AMD_IP_BLOCK_TYPE_VCN:
>                                 ret = amdgpu_xcp_get_inst_details(xcp, AMDGPU_XCP_VCN, &inst_mask);
> +                               if (ret)
> +                                       return ret;
>                                 count = hweight32(inst_mask);
>                                 break;
>                         default:
>                                 return -EINVAL;
>                         }
> -                       if (ret)
> -                               return ret;
> +
>                         return copy_to_user(out, &count, min(size, 4u)) ? -EFAULT : 0;
>                 }
>
> --
> 2.34.1
>




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux