diff options
| author | Zhen Kong <zkong@codeaurora.org> | 2017-02-27 13:41:07 -0800 |
|---|---|---|
| committer | Zhen Kong <zkong@codeaurora.org> | 2017-02-27 13:45:03 -0800 |
| commit | 364643660e49ec22f657d3e624bee2c7b9738d98 (patch) | |
| tree | 3b0ea3f755ff3970dac0da91afc9740f485b7ca4 | |
| parent | c4b8f7345591598bccc856150c65d787e894c039 (diff) | |
qseecom: add mutex around qseecom_set_client_mem_param
Add mutex around qseecom_set_client_mem_param to prevent an
ioctl thread modifying and corrupting data which is being
processed by another ioctl in the other thread
Change-Id: I0cfb8afab4001c2913be693dfe44c761b9568893
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
| -rw-r--r-- | drivers/misc/qseecom.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index 134995c9cd3c..8d03c36858b3 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -7043,7 +7043,11 @@ long qseecom_ioctl(struct file *file, unsigned cmd, unsigned long arg) break; } pr_debug("SET_MEM_PARAM: qseecom addr = 0x%pK\n", data); + mutex_lock(&app_access_lock); + atomic_inc(&data->ioctl_count); ret = qseecom_set_client_mem_param(data, argp); + atomic_dec(&data->ioctl_count); + mutex_unlock(&app_access_lock); if (ret) pr_err("failed Qqseecom_set_mem_param request: %d\n", ret); |
