[PATCH] [OMAPZOOM]DSPBRIDGE bug in Bridge exit cleanup

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

 



The Bridge exit resource cleanup is accessing Process
context pointer after it is freed. Fixed this by holding
the next Process context pointer in a temporary variable.

Signed-off-by: Hari Kanigeri <h-kanigeri2@xxxxxx>
---
 drivers/dsp/bridge/rmgr/drv_interface.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/dsp/bridge/rmgr/drv_interface.c b/drivers/dsp/bridge/rmgr/drv_interface.c
index a756997..af98600 100644
--- a/drivers/dsp/bridge/rmgr/drv_interface.c
+++ b/drivers/dsp/bridge/rmgr/drv_interface.c
@@ -537,7 +537,7 @@ static void __exit bridge_exit(void)
 	DSP_STATUS dsp_status = DSP_SOK;
 	HANDLE hDrvObject = NULL;
 	struct PROCESS_CONTEXT    *pCtxtclosed = NULL;
-
+	struct PROCESS_CONTEXT    *pTmp = NULL;
 	GT_0trace(driverTrace, GT_ENTER, "-> driver_exit\n");
 
 
@@ -551,9 +551,10 @@ static void __exit bridge_exit(void)
 			 "process***%d\n", pCtxtclosed->pid);
 		DRV_RemoveAllResources(pCtxtclosed);
 		PROC_Detach(pCtxtclosed->hProcessor);
+		pTmp =  pCtxtclosed->next;
 		DRV_RemoveProcContext((struct DRV_OBJECT *)hDrvObject,
 				     pCtxtclosed, (void *)pCtxtclosed->pid);
-		pCtxtclosed = pCtxtclosed->next;;
+		pCtxtclosed = pTmp;
 	}
 func_cont:
 #ifndef CONFIG_DISABLE_BRIDGE_PM
-- 
1.5.4.3


Thank you,
Best regards,
Hari

Attachment: 0001-OMAPZOOM-DSPBRIDGE-bug-in-Bridge-exit-cleanup.patch
Description: 0001-OMAPZOOM-DSPBRIDGE-bug-in-Bridge-exit-cleanup.patch


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux