]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/commitdiff
security:tlk: enable CONFIG_TRUSTED_LITTLE_KERNEL
authorPranami Bhattacharya <pranamib@nvidia.com>
Mon, 2 Oct 2017 05:19:07 +0000 (22:19 -0700)
committermobile promotions <svcmobile_promotions@nvidia.com>
Thu, 5 Oct 2017 01:20:21 +0000 (18:20 -0700)
This patch enables CONFIG_TRUSTED_LITTLE_KERNEL option in the android
defconfig because it is needed for android customers only.

This patch removed unnecessary functions from ote_comms.c file.

te_restore_keyslots which is a TOS specific function is renamed for
both OSes as {tlk|trusty}_restore_keyslots and the caller is updated
in a separate patch

Bug 200346933

Change-Id: Id6cc3f328a886cbe39e034ce2d875583c9ee56e6
Signed-off-by: Pranami Bhattacharya <pranamib@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1571782
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
arch/arm64/configs/tegra21_android_defconfig
drivers/trusty/trusty-otf-iface.c
include/linux/ote_protocol.h
security/tlk_driver/ote_comms.c

index b13d69491adc1ae4add2e2ce28530259f8867180..2fe51bf5fd322e889be3fcf3ae6ed9e7d93f3107 100644 (file)
@@ -287,6 +287,7 @@ CONFIG_PWM_FAN=y
 CONFIG_TEGRA_SOCTHERM=y
 CONFIG_TEGRA_AOTAG=y
 CONFIG_TRUSTY=y
+CONFIG_TRUSTED_LITTLE_KERNEL=y
 CONFIG_WATCHDOG=y
 CONFIG_WATCHDOG_NOWAYOUT=y
 CONFIG_TEGRA_WATCHDOG=y
index 6de442b75c576b13ededf8160f847004b7267ae5..2e6f39dc187387e472072fdc891c3d7e11cbc211 100644 (file)
@@ -20,7 +20,7 @@
 #define OTF_PORT_NAME          "com.nvidia.tos.74629d40-1378-4d17-94d0e0af5d861d88"
 #define OTF_REPROGRAM_KEYS     5
 
-void te_restore_keyslots(void)
+void trusty_restore_keyslots(void)
 {
        void *opaque_channel_context = NULL;
        int ret = 0;
@@ -46,4 +46,4 @@ void te_restore_keyslots(void)
 
        te_close_trusted_session(opaque_channel_context);
 }
-EXPORT_SYMBOL(te_restore_keyslots);
+EXPORT_SYMBOL(trusty_restore_keyslots);
index 72517e6ae705f8c6d6b8654c2e23df0e4ee5cc9b..a7c21a2f18d648531a2fa63025a8ed8dcb7bb716 100644 (file)
 
 int tegra_set_vpr_params(void *vpr_base, size_t vpr_size);
 
-void te_restore_keyslots(void);
-int  te_vrr_set_buf(phys_addr_t addr);
-void te_vrr_sec(void);
-/* FIXME: Merge with tegra_set_vpr_params */
-int te_set_vpr_params(void *vpr_base, size_t vpr_size);
-void te_restore_keyslots(void);
+void trusty_restore_keyslots(void);
+void tlk_restore_keyslots(void);
 int  te_vrr_set_buf(phys_addr_t addr);
 void te_vrr_sec(void);
 
index 4d0900f11672081178eec74cbaaabfc9c1e800f5..7fc1d79139e7afc342008f6e045a9c9db5cd0ea8 100644 (file)
@@ -168,29 +168,7 @@ static void do_smc(struct te_request *request, struct tlk_device *dev)
        (void)send_smc(request->type, smc_args, smc_params);
 }
 
-/*
- * VPR programming SMC
- */
-int te_set_vpr_params(void *vpr_base, size_t vpr_size)
-{
-       uint32_t retval;
-
-       /* Share the same lock used when request is send from user side */
-       mutex_lock(&smc_lock);
-
-       retval = send_smc(TE_SMC_PROGRAM_VPR, (uintptr_t)vpr_base, vpr_size);
-
-       mutex_unlock(&smc_lock);
-
-       if (retval != OTE_SUCCESS) {
-               pr_err("%s: smc failed err (0x%x)\n", __func__, retval);
-               return -EINVAL;
-       }
-       return 0;
-}
-EXPORT_SYMBOL(te_set_vpr_params);
-
-void te_restore_keyslots(void)
+void tlk_restore_keyslots(void)
 {
        uint32_t retval;
 
@@ -205,7 +183,7 @@ void te_restore_keyslots(void)
                pr_err("%s: smc failed err (0x%x)\n", __func__, retval);
        }
 }
-EXPORT_SYMBOL(te_restore_keyslots);
+EXPORT_SYMBOL(tlk_restore_keyslots);
 
 /*
  * VRR Set Buffer
@@ -379,85 +357,6 @@ error:
        te_release_mem_buffers(&session->inactive_persist_shmem_list);
 }
 
-void te_authenticate_vrr(u8 *buf_ptr, u32 buflen)
-{
-       u32 i, no_of_params = 1;
-       struct te_request *request;
-       struct te_oper_param user_param;
-       struct te_oper_param *param_array;
-       struct te_oper_param *params = NULL;
-       struct te_cmd_req_desc *cmd_desc = NULL;
-       u32 session_id, vrr_auth_uuid[4] = VR_AUTH_UUID;
-
-       mutex_lock(&smc_lock);
-
-       /* Open & submit the work to SMC */
-       cmd_desc = NULL;
-       params = NULL;
-       no_of_params =  1;
-
-       cmd_desc = te_get_free_cmd_desc(&tlk_dev);
-       params = te_get_free_params(&tlk_dev, no_of_params);
-
-       if (!cmd_desc || !params) {
-               pr_err("failed to get cmd_desc/params\n");
-               goto error;
-       }
-
-       /* Request and parameter are prepared for VRR authenticaiton */
-       request = cmd_desc->req_addr;
-       memset(request, 0, sizeof(struct te_request));
-       request->params = (uintptr_t)params;
-       request->params_size = no_of_params;
-       request->type = TE_SMC_OPEN_SESSION;
-
-       user_param.index = 0;
-       user_param.u.Mem.len = buflen;
-       user_param.type = TE_PARAM_TYPE_MEM_RW;
-       user_param.u.Mem.type = TE_MEM_TYPE_NS_KERNEL;
-       user_param.u.Mem.base = (uint64_t)(uintptr_t)buf_ptr;
-       memcpy(request->dest_uuid, vrr_auth_uuid, sizeof(vrr_auth_uuid));
-
-       param_array = (struct te_oper_param *)(uintptr_t)request->params;
-
-       for (i = 0; i < no_of_params; i++)
-               memcpy(param_array + i, &user_param, sizeof(struct te_oper_param));
-
-       do_smc(request, &tlk_dev);
-       session_id = request->session_id;
-
-       if (request->result) {
-               pr_err("%s: error opening session: 0x%08x\n",
-                       __func__, request->result);
-               goto error;
-       }
-
-       /* Close the session */
-       request = cmd_desc->req_addr;
-       memset(request, 0, sizeof(struct te_request));
-
-       request->type = TE_SMC_CLOSE_SESSION;
-       request->session_id = session_id;
-       memcpy(request->dest_uuid, vrr_auth_uuid, sizeof(vrr_auth_uuid));
-
-       do_smc(request, &tlk_dev);
-
-       if (request->result) {
-               pr_err("%s: error closing session: 0x%08x\n",
-                       __func__, request->result);
-       }
-
-error:
-       if (cmd_desc)
-               te_put_used_cmd_desc(&tlk_dev, cmd_desc);
-
-       if (params)
-               te_put_free_params(&tlk_dev, params, no_of_params);
-
-       mutex_unlock(&smc_lock);
-}
-EXPORT_SYMBOL(te_authenticate_vrr);
-
 /*
  * Command to open a session with the trusted app.
  * This API should only be called from the kernel space.