[PATCH] drm/amd/powerplay: fix memdup.cocci warnings

Gao, Likun Likun.Gao at amd.com
Mon Mar 4 06:50:22 UTC 2019


Reviewed-by: Likun Gao <Likun.Gao at amd.com>

-----Original Message-----
From: Julia Lawall <julia.lawall at lip6.fr> 
Sent: Saturday, March 02, 2019 2:51 PM
To: Gao, Likun <Likun.Gao at amd.com>
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Wang, Kevin(Yang) <Kevin1.Wang at amd.com>; Quan, Evan <Evan.Quan at amd.com>; Koenig, Christian <Christian.Koenig at amd.com>; David Airlie <airlied at linux.ie>; Daniel Vetter <daniel at ffwll.ch>; Huang, Ray <Ray.Huang at amd.com>; amd-gfx at lists.freedesktop.org; kbuild test robot <lkp at intel.com>; dri-devel at lists.freedesktop.org; kbuild-all at 01.org
Subject: [PATCH] drm/amd/powerplay: fix memdup.cocci warnings

From: kbuild test robot <fengguang.wu at intel.com>

Simplify the code a bit by using kmemdup instead of kzalloc and memcpy.

Generated by: scripts/coccinelle/api/memdup.cocci

Fixes: 76760fe3c00d ("drm/amd/powerplay: add function to store overdrive information for smu11")
CC: Likun Gao <Likun.Gao at amd.com>
Signed-off-by: kbuild test robot <fengguang.wu at intel.com>
Signed-off-by: Julia Lawall <julia.lawall at lip6.fr>
---

tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-5.2-wip
head:   25752e1fc83e9f983b11d680fc7bfc129b4eaae6
commit: 76760fe3c00d04f25cc1a6115294310d4effeb77 [161/226] drm/amd/powerplay: add function to store overdrive information for smu11
:::::: branch date: 6 hours ago
:::::: commit date: 6 hours ago

 vega20_ppt.c |   24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

--- a/drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c
+++ b/drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c
@@ -173,14 +173,12 @@ static int vega20_setup_od8_information(
 		if (table_context->od_feature_capabilities)
 			return -EINVAL;

-		table_context->od_feature_capabilities = kzalloc(od_feature_array_size, GFP_KERNEL);
+		table_context->od_feature_capabilities = kmemdup(&powerplay_table->OverDrive8Table.ODFeatureCapabilities,
+								 od_feature_array_size,
+								 GFP_KERNEL);
 		if (!table_context->od_feature_capabilities)
 			return -ENOMEM;

-		memcpy(table_context->od_feature_capabilities,
-		       &powerplay_table->OverDrive8Table.ODFeatureCapabilities,
-		       od_feature_array_size);
-
 		/* Setup correct ODSettingCount, and store ODSettingArray from
 		 * powerplay table to od_settings_max and od_setting_min */
 		od_setting_count =
@@ -194,7 +192,9 @@ static int vega20_setup_od8_information(
 		if (table_context->od_settings_max)
 			return -EINVAL;

-		table_context->od_settings_max = kzalloc(od_setting_array_size, GFP_KERNEL);
+		table_context->od_settings_max = kmemdup(&powerplay_table->OverDrive8Table.ODSettingsMax,
+							 od_setting_array_size,
+							 GFP_KERNEL);

 		if (!table_context->od_settings_max) {
 			kfree(table_context->od_feature_capabilities);
@@ -202,14 +202,12 @@ static int vega20_setup_od8_information(
 			return -ENOMEM;
 		}

-		memcpy(table_context->od_settings_max,
-		       &powerplay_table->OverDrive8Table.ODSettingsMax,
-		       od_setting_array_size);
-
 		if (table_context->od_settings_min)
 			return -EINVAL;

-		table_context->od_settings_min = kzalloc(od_setting_array_size, GFP_KERNEL);
+		table_context->od_settings_min = kmemdup(&powerplay_table->OverDrive8Table.ODSettingsMin,
+							 od_setting_array_size,
+							 GFP_KERNEL);

 		if (!table_context->od_settings_min) {
 			kfree(table_context->od_feature_capabilities);
@@ -218,10 +216,6 @@ static int vega20_setup_od8_information(
 			table_context->od_settings_max = NULL;
 			return -ENOMEM;
 		}
-
-		memcpy(table_context->od_settings_min,
-		       &powerplay_table->OverDrive8Table.ODSettingsMin,
-		       od_setting_array_size);
 	}

 	return 0;


More information about the dri-devel mailing list