Patch "drm/amdgpu: fix the memory corruption on S3" has been added to the 4.12-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/amdgpu: fix the memory corruption on S3
to the 4.12-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-fix-the-memory-corruption-on-s3.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
67bef0f7908a3a6b10e5a29d8e8c09e27f90c9f8Mon Sep 17 00:00:00 2001
From: Huang Rui <[email protected]>
Date: Thu, 29 Jun 2017 14:21:49 +0800
Subject: drm/amdgpu: fix the memory corruption on S3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Huang Rui <[email protected]>
commit 67bef0f7908a3a6b10e5a29d8e8c09e27f90c9f8 upstream.
psp->cmd will be used on resume phase, so we can not free it on hw_init. Otherwise, a memory corruption will be triggered.
--- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +7 -8
@@ -319,14 +319,11 @@ static int psp_load_fw(struct amdgpu_dev {int ret;struct psp_context *psp = &adev->psp; -struct psp_gfx_cmd_resp *cmd; - cmd =kzalloc (sizeof (struct psp_gfx_cmd_resp ),GFP_KERNEL ); -if (!cmd) + psp->cmd =kzalloc (sizeof (struct psp_gfx_cmd_resp ),GFP_KERNEL ); +if (!psp->cmd)return -ENOMEM ; - psp->cmd = cmd; - ret = amdgpu_bo_create_kernel(adev, PSP_1_MEG, PSP_1_MEG, AMDGPU_GEM_DOMAIN_GTT, &psp->fw_pri_bo,
@@ -365,8 +362,6 @@ static int psp_load_fw(struct amdgpu_devif (ret) goto failed_mem; -kfree (cmd); -return 0 ; failed_mem:
@@ -376,7 +371,8 @@ failed_mem1:amdgpu_bo_free_kernel (&psp->fw_pri_bo, &psp->fw_pri_mc_addr, &psp->fw_pri_buf); failed: -kfree (cmd); +kfree (psp->cmd); + psp->cmd =NULL ;return ret; }
@@ -436,6 +432,9 @@ static int psp_hw_fini(void *handle)amdgpu_bo_free_kernel (&psp->fence_buf_bo, &psp->fence_buf_mc_addr, &psp->fence_buf); +kfree (psp->cmd); + psp->cmd =NULL ; +return 0 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/drm-amdgpu-fix-the-memory-corruption-on-s3.patch