aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/tee_drv.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2020-05-25 23:15:02 +0200
committerArnd Bergmann <arnd@arndb.de>2020-05-25 23:15:03 +0200
commitbe4ad166b4e229ba7f129c5e3bd5ff0347652422 (patch)
tree88336fa30024b2663441e121f8eb486b925c1ea9 /include/linux/tee_drv.h
parentMerge tag 'reset-for-v5.8' of git://git.pengutronix.de/pza/linux into arm/drivers (diff)
parenttee: optee: Add support for session login client UUID generation (diff)
downloadwireguard-linux-be4ad166b4e229ba7f129c5e3bd5ff0347652422.tar.xz
wireguard-linux-be4ad166b4e229ba7f129c5e3bd5ff0347652422.zip
Merge tag 'tee-login-for-5.8' of git://git.linaro.org/people/jens.wiklander/linux-tee into arm/drivers
Adds utility function in TEE subsystem for client UUID generation. This function is also used in the optee driver. * tag 'tee-login-for-5.8' of git://git.linaro.org/people/jens.wiklander/linux-tee: tee: optee: Add support for session login client UUID generation tee: add support for session's client UUID generation Link: https://lore.kernel.org/r/20200512131243.GA10028@jade Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/tee_drv.h')
-rw-r--r--include/linux/tee_drv.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/tee_drv.h b/include/linux/tee_drv.h
index e96154d92b1e..d074302989dd 100644
--- a/include/linux/tee_drv.h
+++ b/include/linux/tee_drv.h
@@ -167,6 +167,22 @@ int tee_device_register(struct tee_device *teedev);
void tee_device_unregister(struct tee_device *teedev);
/**
+ * tee_session_calc_client_uuid() - Calculates client UUID for session
+ * @uuid: Resulting UUID
+ * @connection_method: Connection method for session (TEE_IOCTL_LOGIN_*)
+ * @connectuon_data: Connection data for opening session
+ *
+ * Based on connection method calculates UUIDv5 based client UUID.
+ *
+ * For group based logins verifies that calling process has specified
+ * credentials.
+ *
+ * @return < 0 on failure
+ */
+int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
+ const u8 connection_data[TEE_IOCTL_UUID_LEN]);
+
+/**
* struct tee_shm - shared memory object
* @ctx: context using the object
* @paddr: physical address of the shared memory