diff options
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.patch | 85 |
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 + |