Patch "drm/amdgpu/powerplay/psm: Fix memory leak in power state init" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amdgpu/powerplay/psm: Fix memory leak in power state init

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amdgpu-powerplay-psm-fix-memory-leak-in-power-st.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 5242f1e3d9d0420ba60051d68c7b4eec07c7e794
Author: Rafael Mendonca <rafaelmendsr@xxxxxxxxx>
Date:   Mon Oct 17 21:53:57 2022 -0300

    drm/amdgpu/powerplay/psm: Fix memory leak in power state init
    
    [ Upstream commit 8f8033d5663b18e6efb33feb61f2287a04605ab5 ]
    
    Commit 902bc65de0b3 ("drm/amdgpu/powerplay/psm: return an error in power
    state init") made the power state init function return early in case of
    failure to get an entry from the powerplay table, but it missed to clean up
    the allocated memory for the current power state before returning.
    
    Fixes: 902bc65de0b3 ("drm/amdgpu/powerplay/psm: return an error in power state init")
    Reviewed-by: Evan Quan <evan.quan@xxxxxxx>
    Signed-off-by: Rafael Mendonca <rafaelmendsr@xxxxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c
index 67d7da0b6fed..1d829402cd2e 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c
@@ -75,8 +75,10 @@ int psm_init_power_state_table(struct pp_hwmgr *hwmgr)
 	for (i = 0; i < table_entries; i++) {
 		result = hwmgr->hwmgr_func->get_pp_table_entry(hwmgr, i, state);
 		if (result) {
+			kfree(hwmgr->current_ps);
 			kfree(hwmgr->request_ps);
 			kfree(hwmgr->ps);
+			hwmgr->current_ps = NULL;
 			hwmgr->request_ps = NULL;
 			hwmgr->ps = NULL;
 			return -EINVAL;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux