RE: [PATCH 8/8] drm/amdkfd: remove dead code in kfd_create_vcrat_image_gpu

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

 



[AMD Official Use Only - AMD Internal Distribution Only]

Hi Felix,

-----Original Message-----
From: Kuehling, Felix <Felix.Kuehling@xxxxxxx>
Sent: Friday, May 31, 2024 4:37 AM
To: Zhang, Jesse(Jie) <Jesse.Zhang@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Koenig, Christian <Christian.Koenig@xxxxxxx>; Kim, Jonathan <Jonathan.Kim@xxxxxxx>; Huang, Tim <Tim.Huang@xxxxxxx>
Subject: Re: [PATCH 8/8] drm/amdkfd: remove dead code in kfd_create_vcrat_image_gpu


On 2024-05-29 23:50, Jesse Zhang wrote:
> Since the value of avail_size is at least VCRAT_SIZE_FOR_GPU(16384),
> minus struct crat_header(40UL) and struct crat_subtype_compute(40UL) it cannot be less than 0.
>
> Signed-off-by: Jesse Zhang <Jesse.Zhang@xxxxxxx>
> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 6 ------
>   1 file changed, 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> index 71150d503dc7..ead43386a7ef 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> @@ -2213,9 +2213,6 @@ static int kfd_create_vcrat_image_gpu(void *pcrat_image,
>        * Modify length and total_entries as subunits are added.
>        */
>       avail_size -= sizeof(struct crat_header);
> -     if (avail_size < 0)
> -             return -ENOMEM;
> -

Avail_size is passed in from the caller through the *size parameter.
You're making an assumption about the caller here.

[Zhang, Jesse(Jie)]  avil_size is checked at the beginning of kfd_create_vcrat_image_gpu
and it cannot be smaller than VCRAT_SIZE_FOR_GPU (16384).

        if (!pcrat_image || avail_size < VCRAT_SIZE_FOR_GPU)
                return -EINVAL;


Regards
Jesse

Regards,
   Felix


>       memset(crat_table, 0, sizeof(struct crat_header));
>
>       memcpy(&crat_table->signature, CRAT_SIGNATURE, @@ -2229,9 +2226,6
> @@ static int kfd_create_vcrat_image_gpu(void *pcrat_image,
>        * First fill in the sub type header and then sub type data
>        */
>       avail_size -= sizeof(struct crat_subtype_computeunit);
> -     if (avail_size < 0)
> -             return -ENOMEM;
> -
>       sub_type_hdr = (struct crat_subtype_generic *)(crat_table + 1);
>       memset(sub_type_hdr, 0, sizeof(struct crat_subtype_computeunit));
>




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

  Powered by Linux