diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2013-12-06 17:19:09 +0530 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2013-12-07 03:39:32 -0800 |
commit | 84edb85b950e31367010be54c2725d316a2793ba (patch) | |
tree | 196fbdfe700e7cb0fd19fce129bf40edb596b697 /security | |
parent | 82fbaaf0944f86b37ec38a39504ab12d7eab99fa (diff) |
security: tlk_driver: allocate uncached memory for FS operations
Bug 1412144
Bug 1176001
Change-Id: If68806ee44a7009354efdda3d5cbf9e0e1f5f47f
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/339205
Diffstat (limited to 'security')
-rw-r--r-- | security/tlk_driver/ote_fs.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/security/tlk_driver/ote_fs.c b/security/tlk_driver/ote_fs.c index cf02e8cb4ac4..b43eae69799f 100644 --- a/security/tlk_driver/ote_fs.c +++ b/security/tlk_driver/ote_fs.c @@ -23,6 +23,7 @@ #include <linux/workqueue.h> #include <linux/bitops.h> #include <linux/uaccess.h> +#include <linux/dma-mapping.h> #include "ote_protocol.h" @@ -200,13 +201,17 @@ static int __init tlk_fs_register_handlers(void) { struct te_file_req_shmem *shmem_ptr; uint32_t smc_args[MAX_EXT_SMC_ARGS]; + dma_addr_t shmem_dma; - shmem_ptr = kzalloc(sizeof(struct te_file_req_shmem), GFP_KERNEL); + shmem_ptr = dma_alloc_coherent(NULL, sizeof(struct te_file_req_shmem), + &shmem_dma, GFP_KERNEL); if (!shmem_ptr) { pr_err("%s: no memory available for fs operations\n", __func__); return -ENOMEM; } + memset(shmem_ptr, 0, sizeof(struct te_file_req_shmem)); + INIT_LIST_HEAD(&req_list); init_completion(&req_ready); init_completion(&req_complete); |