tee: optee: Add support for session login client UUID generation
authorVesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Thu, 30 Apr 2020 12:37:10 +0000 (15:37 +0300)
committerJens Wiklander <jens.wiklander@linaro.org>
Mon, 11 May 2020 12:11:33 +0000 (14:11 +0200)
Adds support for client UUID generation for OP-TEE. For group based session
logins membership is verified.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
drivers/tee/optee/call.c

index cf2367b..dbed3f4 100644 (file)
@@ -233,9 +233,13 @@ int optee_open_session(struct tee_context *ctx,
        msg_arg->params[1].attr = OPTEE_MSG_ATTR_TYPE_VALUE_INPUT |
                                  OPTEE_MSG_ATTR_META;
        memcpy(&msg_arg->params[0].u.value, arg->uuid, sizeof(arg->uuid));
-       memcpy(&msg_arg->params[1].u.value, arg->uuid, sizeof(arg->clnt_uuid));
        msg_arg->params[1].u.value.c = arg->clnt_login;
 
+       rc = tee_session_calc_client_uuid((uuid_t *)&msg_arg->params[1].u.value,
+                                         arg->clnt_login, arg->clnt_uuid);
+       if (rc)
+               goto out;
+
        rc = optee_to_msg_param(msg_arg->params + 2, arg->num_params, param);
        if (rc)
                goto out;