From d83bdcb036fab428c28b5d1432b9d5a1c9d4e35a Mon Sep 17 00:00:00 2001 From: William Clark Date: Thu, 17 Jul 2014 14:40:41 -0700 Subject: [PATCH] qseecom: fix secure app loading failure by kernel mode qseecom client Make a change to fix secure app loading failure due to premature kzfree() from __qseecom_load_fw(), when kernel mode qseecom client tries to load app. CRs-fixed: 694541 Change-Id: I1ac39ee885c12e08e863d976321dda2380ace852 Signed-off-by: William Clark --- drivers/misc/qseecom.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index cfdaa5883da..fb66cbbe556 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -1872,7 +1872,6 @@ static int __qseecom_load_fw(struct qseecom_dev_handle *data, char *appname) ret = __qseecom_enable_clk_scale_up(data); if (ret) { - kzfree(img_data); ret = -EIO; goto loadfw_err; } @@ -1882,7 +1881,6 @@ static int __qseecom_load_fw(struct qseecom_dev_handle *data, char *appname) ret = scm_call(SCM_SVC_TZSCHEDULER, 1, &load_req, sizeof(struct qseecom_load_app_ireq), &resp, sizeof(resp)); - kzfree(img_data); if (ret) { pr_err("scm_call to load failed : ret %d\n", ret); ret = -EIO; @@ -1910,6 +1908,7 @@ static int __qseecom_load_fw(struct qseecom_dev_handle *data, char *appname) } loadfw_err: + kzfree(img_data); __qseecom_disable_clk_scale_down(data); if (qseecom.support_bus_scaling) { mutex_lock(&qsee_bw_mutex);