aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0414-drm-amd-powerplay-fix-memory-leak-of-tdp_table.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0414-drm-amd-powerplay-fix-memory-leak-of-tdp_table.patch')
-rw-r--r--common/recipes-kernel/linux/files/0414-drm-amd-powerplay-fix-memory-leak-of-tdp_table.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0414-drm-amd-powerplay-fix-memory-leak-of-tdp_table.patch b/common/recipes-kernel/linux/files/0414-drm-amd-powerplay-fix-memory-leak-of-tdp_table.patch
new file mode 100644
index 00000000..04a00ea1
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0414-drm-amd-powerplay-fix-memory-leak-of-tdp_table.patch
@@ -0,0 +1,34 @@
+From 5f632a584a0918642dee7227c19e27fce2d95f9e Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.king@canonical.com>
+Date: Fri, 18 Mar 2016 16:47:29 +0000
+Subject: [PATCH 0414/1110] drm/amd/powerplay: fix memory leak of tdp_table
+
+tdp_table is being leaked on failed allocations of
+hwmgr->dyn_state.cac_dtp_table. kfree tdp_table on the error
+return path to fix the leak.
+
+Signed-off-by: Colin Ian King <colin.king@canonical.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c
+index 34f4bef..b156481 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c
+@@ -512,8 +512,10 @@ static int get_cac_tdp_table(
+
+ hwmgr->dyn_state.cac_dtp_table = kzalloc(table_size, GFP_KERNEL);
+
+- if (NULL == hwmgr->dyn_state.cac_dtp_table)
++ if (NULL == hwmgr->dyn_state.cac_dtp_table) {
++ kfree(tdp_table);
+ return -ENOMEM;
++ }
+
+ memset(hwmgr->dyn_state.cac_dtp_table, 0x00, table_size);
+
+--
+2.7.4
+