aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1556-drm-amd-powerplay-fix-memdup.cocci-warnings.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1556-drm-amd-powerplay-fix-memdup.cocci-warnings.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1556-drm-amd-powerplay-fix-memdup.cocci-warnings.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1556-drm-amd-powerplay-fix-memdup.cocci-warnings.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1556-drm-amd-powerplay-fix-memdup.cocci-warnings.patch
new file mode 100644
index 00000000..0ed7e757
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1556-drm-amd-powerplay-fix-memdup.cocci-warnings.patch
@@ -0,0 +1,85 @@
+From 29b6d9690c035d93b5f8863a0667fcb19dbbe435 Mon Sep 17 00:00:00 2001
+From: kbuild test robot <fengguang.wu@intel.com>
+Date: Sat, 2 Mar 2019 07:50:36 +0100
+Subject: [PATCH 1556/2940] drm/amd/powerplay: fix memdup.cocci warnings
+
+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@amd.com>
+Reviewed-by: Likun Gao <Likun.Gao@amd.com>
+Acked-by: Huang Rui <ray.huang@amd.com>
+Signed-off-by: kbuild test robot <fengguang.wu@intel.com>
+Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/vega20_ppt.c | 24 ++++++++--------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
+index f7188a7fb194..c66ad3b223d3 100644
+--- a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
++++ b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
+@@ -204,14 +204,12 @@ static int vega20_setup_od8_information(struct smu_context *smu)
+ 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 =
+@@ -225,7 +223,9 @@ static int vega20_setup_od8_information(struct smu_context *smu)
+ 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);
+@@ -233,14 +233,12 @@ static int vega20_setup_od8_information(struct smu_context *smu)
+ 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);
+@@ -249,10 +247,6 @@ static int vega20_setup_od8_information(struct smu_context *smu)
+ table_context->od_settings_max = NULL;
+ return -ENOMEM;
+ }
+-
+- memcpy(table_context->od_settings_min,
+- &powerplay_table->OverDrive8Table.ODSettingsMin,
+- od_setting_array_size);
+ }
+
+ return 0;
+--
+2.17.1
+