2018-09-18 15:48:57

by zhong jiang

[permalink] [raw]
Subject: [PATCH] drm: amd: Use kmemdup instead of duplicating its function

kmemdup has implemented the function that kmalloc() + memcpy().
We prefer to kmemdup rather than code opened implementation.

Signed-off-by: zhong jiang <[email protected]>
---
drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
index ee49960..8ddd585 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
@@ -747,12 +747,10 @@ int kfd_create_crat_image_acpi(void **crat_image, size_t *size)
return -ENODATA;
}

- pcrat_image = kmalloc(crat_table->length, GFP_KERNEL);
+ pcrat_image = kmemdup(crat_table, crat_table->length, GFP_KERNEL);
if (!pcrat_image)
return -ENOMEM;

- memcpy(pcrat_image, crat_table, crat_table->length);
-
*crat_image = pcrat_image;
*size = crat_table->length;

--
1.7.12.4



2018-09-21 14:13:47

by zhong jiang

[permalink] [raw]
Subject: Re: [PATCH] drm: amd: Use kmemdup instead of duplicating its function

+cc [email protected]

Thanks,
zhong jiang

On 2018/9/18 23:35, zhong jiang wrote:
> kmemdup has implemented the function that kmalloc() + memcpy().
> We prefer to kmemdup rather than code opened implementation.
>
> Signed-off-by: zhong jiang <[email protected]>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> index ee49960..8ddd585 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> @@ -747,12 +747,10 @@ int kfd_create_crat_image_acpi(void **crat_image, size_t *size)
> return -ENODATA;
> }
>
> - pcrat_image = kmalloc(crat_table->length, GFP_KERNEL);
> + pcrat_image = kmemdup(crat_table, crat_table->length, GFP_KERNEL);
> if (!pcrat_image)
> return -ENOMEM;
>
> - memcpy(pcrat_image, crat_table, crat_table->length);
> -
> *crat_image = pcrat_image;
> *size = crat_table->length;
>



2018-10-11 22:38:20

by Felix Kuehling

[permalink] [raw]
Subject: Re: [PATCH] drm: amd: Use kmemdup instead of duplicating its function

Hi Zhong Jiang,

Sorry for the late response. I just saw this while catching up with my
backlog after travelling end of September.

I applied your patch to amd-staging-drm-next. I only changed the
headline slightly to use the "drm/admkfd: " prefix that we commonly use
for KFD changes.

Regards,
  Felix


On 2018-09-18 11:35 AM, zhong jiang wrote:
> kmemdup has implemented the function that kmalloc() + memcpy().
> We prefer to kmemdup rather than code opened implementation.
>
> Signed-off-by: zhong jiang <[email protected]>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> index ee49960..8ddd585 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> @@ -747,12 +747,10 @@ int kfd_create_crat_image_acpi(void **crat_image, size_t *size)
> return -ENODATA;
> }
>
> - pcrat_image = kmalloc(crat_table->length, GFP_KERNEL);
> + pcrat_image = kmemdup(crat_table, crat_table->length, GFP_KERNEL);
> if (!pcrat_image)
> return -ENOMEM;
>
> - memcpy(pcrat_image, crat_table, crat_table->length);
> -
> *crat_image = pcrat_image;
> *size = crat_table->length;
>