summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2013-12-06 17:19:09 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2013-12-07 03:39:32 -0800
commit84edb85b950e31367010be54c2725d316a2793ba (patch)
tree196fbdfe700e7cb0fd19fce129bf40edb596b697 /security
parent82fbaaf0944f86b37ec38a39504ab12d7eab99fa (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.c7
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);