DivestOS/Patches/Linux_CVEs/CVE-2016-5349/ANY/0003.patch
2017-11-07 17:32:46 -05:00

48 lines
1.5 KiB
Diff

From e3d969000fb60ecb9bc01667fa89957f67763514 Mon Sep 17 00:00:00 2001
From: Zhen Kong <zkong@codeaurora.org>
Date: Wed, 7 Sep 2016 16:22:11 +0530
Subject: qseecom: Change whitelist_support flag to false if TZ failed to check
The whitelist status is set default as true though TZ failed to check,
which in turn causing the send_command fail by passing whitelist commnd id.
So updating the support status flag to false when TZ fails to check.
Change-Id: I78a7600506b4d2457bb1c38f8a39888a9cf9467c
Signed-off-by: Mallikarjuna Reddy Amireddy <mamire@codeaurora.org>
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
---
drivers/misc/qseecom.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c
index 543eff3..a0d27d6 100644
--- a/drivers/misc/qseecom.c
+++ b/drivers/misc/qseecom.c
@@ -6838,8 +6838,10 @@ static int qseecom_open(struct inode *inode, struct file *file)
atomic_set(&data->ioctl_count, 0);
data->sglistinfo_ptr = kzalloc(SGLISTINFO_TABLE_SIZE, GFP_KERNEL);
- if (!(data->sglistinfo_ptr))
+ if (!(data->sglistinfo_ptr)) {
+ kzfree(data);
return -ENOMEM;
+ }
return ret;
}
@@ -7096,8 +7098,10 @@ static int qseecom_check_whitelist_feature(void)
qseecom.whitelist_support = true;
ret = 0;
} else {
- pr_err("Failed to check whitelist: ret = %d, result = 0x%x\n",
+ pr_info("Check whitelist with ret = %d, result = 0x%x\n",
ret, resp.result);
+ qseecom.whitelist_support = false;
+ ret = 0;
}
kfree(buf);
return ret;
--
cgit v1.1