From d0a278b0a53224dd3e8374f7ae8b9aea5176b92e Mon Sep 17 00:00:00 2001 From: Thomas Fleury Date: Fri, 20 Oct 2017 16:42:57 -0700 Subject: gpu: nvgpu: fix kernel memory leak in pmu remove support When unbinding the driver, secure pmu firmware was not freed in nvgpu_remove_pmu_support(). Free related firmware if previously allocated. JIRA EVLR-1959 Bug 200352099 Change-Id: If9e431964837b3233ec25931b2ab61da920e5540 Signed-off-by: Thomas Fleury Reviewed-on: https://git-master.nvidia.com/r/1582909 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/pmu/pmu_fw.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drivers/gpu/nvgpu/common/pmu/pmu_fw.c') diff --git a/drivers/gpu/nvgpu/common/pmu/pmu_fw.c b/drivers/gpu/nvgpu/common/pmu/pmu_fw.c index 29b70b58..8c4e091d 100644 --- a/drivers/gpu/nvgpu/common/pmu/pmu_fw.c +++ b/drivers/gpu/nvgpu/common/pmu/pmu_fw.c @@ -2235,6 +2235,18 @@ static void nvgpu_remove_pmu_support(struct nvgpu_pmu *pmu) if (pmu->fw) nvgpu_release_firmware(g, pmu->fw); + if (g->acr.pmu_fw) + nvgpu_release_firmware(g, g->acr.pmu_fw); + + if (g->acr.pmu_desc) + nvgpu_release_firmware(g, g->acr.pmu_desc); + + if (g->acr.acr_fw) + nvgpu_release_firmware(g, g->acr.acr_fw); + + if (g->acr.hsbl_fw) + nvgpu_release_firmware(g, g->acr.hsbl_fw); + nvgpu_mutex_destroy(&pmu->elpg_mutex); nvgpu_mutex_destroy(&pmu->pg_mutex); nvgpu_mutex_destroy(&pmu->isr_mutex); -- cgit v1.2.2