From: Harshal Dev <harshal.dev@oss.qualcomm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>,
Jens Wiklander <jens.wiklander@oss.qualcomm.com>,
Sumit Garg <sumit.garg@kernel.org>,
Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>
Cc: Basant Kumar <basantk@qti.qualcomm.com>,
Apurupa Pattapu <apurupa@qti.qualcomm.com>,
Arun Kumar Neelakantam <aneelaka@qti.qualcomm.com>,
op-tee@lists.trustedfirmware.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org,
Harshal Dev <harshal.dev@oss.qualcomm.com>
Subject: [PATCH v2 4/6] tee: Export uuidv5 generation for TEE backends
Date: Wed, 22 Jul 2026 12:29:15 +0530 [thread overview]
Message-ID: <20260722-qcom_uefisecapp_migrate_qcomtee-v2-4-b8a8fcbe4211@oss.qualcomm.com> (raw)
In-Reply-To: <20260722-qcom_uefisecapp_migrate_qcomtee-v2-0-b8a8fcbe4211@oss.qualcomm.com>
Export the uuidv5() function defined in the TEE core to all TEE backends.
This enables the TEE backend drivers to generate a UUID for identifying
and registering their secure services on the TEE bus.
Signed-off-by: Harshal Dev <harshal.dev@oss.qualcomm.com>
---
drivers/tee/tee_core.c | 9 +++++----
include/linux/tee_core.h | 15 +++++++++++++++
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/drivers/tee/tee_core.c b/drivers/tee/tee_core.c
index bb418490f3af..df88727b3680 100644
--- a/drivers/tee/tee_core.c
+++ b/drivers/tee/tee_core.c
@@ -135,7 +135,7 @@ static int tee_release(struct inode *inode, struct file *filp)
}
/**
- * uuid_v5() - Calculate UUIDv5
+ * tee_generate_uuid_v5() - Calculate UUIDv5
* @uuid: Resulting UUID
* @ns: Name space ID for UUIDv5 function
* @name: Name for UUIDv5 function
@@ -146,8 +146,8 @@ static int tee_release(struct inode *inode, struct file *filp)
* This implements section (for SHA-1):
* 4.3. Algorithm for Creating a Name-Based UUID
*/
-static void uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
- size_t size)
+void tee_generate_uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
+ size_t size)
{
unsigned char hash[SHA1_DIGEST_SIZE];
struct sha1_ctx ctx;
@@ -163,6 +163,7 @@ static void uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
uuid->b[6] = (hash[6] & 0x0F) | 0x50;
uuid->b[8] = (hash[8] & 0x3F) | 0x80;
}
+EXPORT_SYMBOL_GPL(tee_generate_uuid_v5);
int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
const u8 connection_data[TEE_IOCTL_UUID_LEN])
@@ -228,7 +229,7 @@ int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
goto out_free_name;
}
- uuid_v5(uuid, &tee_client_uuid_ns, name, name_len);
+ tee_generate_uuid_v5(uuid, &tee_client_uuid_ns, name, name_len);
out_free_name:
kfree(name);
diff --git a/include/linux/tee_core.h b/include/linux/tee_core.h
index bcb5418d6fdc..a3f4f88b8423 100644
--- a/include/linux/tee_core.h
+++ b/include/linux/tee_core.h
@@ -272,6 +272,21 @@ void tee_device_set_dev_groups(struct tee_device *teedev,
int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
const u8 connection_data[TEE_IOCTL_UUID_LEN]);
+/**
+ * tee_generate_uuid_v5() - Calculate UUIDv5
+ * @uuid: Resulting UUID
+ * @ns: Name space ID for UUIDv5 function
+ * @name: Name for UUIDv5 function
+ * @size: Size of name
+ *
+ * UUIDv5 is specific in RFC 4122.
+ *
+ * This implements section (for SHA-1):
+ * 4.3. Algorithm for Creating a Name-Based UUID
+ */
+void tee_generate_uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
+ size_t size);
+
/**
* struct tee_shm_pool - shared memory pool
* @ops: operations
--
2.34.1
WARNING: multiple messages have this Message-ID (diff)
From: Harshal Dev via OP-TEE <op-tee@lists.trustedfirmware.org>
To: Jens Wiklander <jens.wiklander@linaro.org>,
Jens Wiklander <jens.wiklander@oss.qualcomm.com>,
Sumit Garg <sumit.garg@kernel.org>,
Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>
Cc: Basant Kumar <basantk@qti.qualcomm.com>,
Apurupa Pattapu <apurupa@qti.qualcomm.com>,
Arun Kumar Neelakantam <aneelaka@qti.qualcomm.com>,
op-tee@lists.trustedfirmware.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org,
Harshal Dev <harshal.dev@oss.qualcomm.com>
Subject: [PATCH v2 4/6] tee: Export uuidv5 generation for TEE backends
Date: Wed, 22 Jul 2026 12:29:15 +0530 [thread overview]
Message-ID: <20260722-qcom_uefisecapp_migrate_qcomtee-v2-4-b8a8fcbe4211@oss.qualcomm.com> (raw)
In-Reply-To: <20260722-qcom_uefisecapp_migrate_qcomtee-v2-0-b8a8fcbe4211@oss.qualcomm.com>
Export the uuidv5() function defined in the TEE core to all TEE backends.
This enables the TEE backend drivers to generate a UUID for identifying
and registering their secure services on the TEE bus.
Signed-off-by: Harshal Dev <harshal.dev@oss.qualcomm.com>
---
drivers/tee/tee_core.c | 9 +++++----
include/linux/tee_core.h | 15 +++++++++++++++
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/drivers/tee/tee_core.c b/drivers/tee/tee_core.c
index bb418490f3af..df88727b3680 100644
--- a/drivers/tee/tee_core.c
+++ b/drivers/tee/tee_core.c
@@ -135,7 +135,7 @@ static int tee_release(struct inode *inode, struct file *filp)
}
/**
- * uuid_v5() - Calculate UUIDv5
+ * tee_generate_uuid_v5() - Calculate UUIDv5
* @uuid: Resulting UUID
* @ns: Name space ID for UUIDv5 function
* @name: Name for UUIDv5 function
@@ -146,8 +146,8 @@ static int tee_release(struct inode *inode, struct file *filp)
* This implements section (for SHA-1):
* 4.3. Algorithm for Creating a Name-Based UUID
*/
-static void uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
- size_t size)
+void tee_generate_uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
+ size_t size)
{
unsigned char hash[SHA1_DIGEST_SIZE];
struct sha1_ctx ctx;
@@ -163,6 +163,7 @@ static void uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
uuid->b[6] = (hash[6] & 0x0F) | 0x50;
uuid->b[8] = (hash[8] & 0x3F) | 0x80;
}
+EXPORT_SYMBOL_GPL(tee_generate_uuid_v5);
int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
const u8 connection_data[TEE_IOCTL_UUID_LEN])
@@ -228,7 +229,7 @@ int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
goto out_free_name;
}
- uuid_v5(uuid, &tee_client_uuid_ns, name, name_len);
+ tee_generate_uuid_v5(uuid, &tee_client_uuid_ns, name, name_len);
out_free_name:
kfree(name);
diff --git a/include/linux/tee_core.h b/include/linux/tee_core.h
index bcb5418d6fdc..a3f4f88b8423 100644
--- a/include/linux/tee_core.h
+++ b/include/linux/tee_core.h
@@ -272,6 +272,21 @@ void tee_device_set_dev_groups(struct tee_device *teedev,
int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
const u8 connection_data[TEE_IOCTL_UUID_LEN]);
+/**
+ * tee_generate_uuid_v5() - Calculate UUIDv5
+ * @uuid: Resulting UUID
+ * @ns: Name space ID for UUIDv5 function
+ * @name: Name for UUIDv5 function
+ * @size: Size of name
+ *
+ * UUIDv5 is specific in RFC 4122.
+ *
+ * This implements section (for SHA-1):
+ * 4.3. Algorithm for Creating a Name-Based UUID
+ */
+void tee_generate_uuid_v5(uuid_t *uuid, const uuid_t *ns, const void *name,
+ size_t size);
+
/**
* struct tee_shm_pool - shared memory pool
* @ops: operations
--
2.34.1
next prev parent reply other threads:[~2026-07-22 6:59 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-22 6:59 [PATCH v2 0/6] Add TEE based client driver for UEFI Secure Application Harshal Dev via OP-TEE
2026-07-22 6:59 ` Harshal Dev
2026-07-22 6:59 ` [PATCH v2 1/6] tee: qcomtee: Track the object invocation context Harshal Dev
2026-07-22 6:59 ` Harshal Dev via OP-TEE
2026-07-22 6:59 ` [PATCH v2 2/6] tee: Add kernel client object invoke helper Harshal Dev
2026-07-22 6:59 ` Harshal Dev via OP-TEE
2026-07-22 6:59 ` [PATCH v2 3/6] tee: qcomtee: Allow object invokes from kernel clients Harshal Dev
2026-07-22 6:59 ` Harshal Dev via OP-TEE
2026-07-29 7:06 ` Amirreza Zarrabi via OP-TEE
2026-07-29 7:06 ` Amirreza Zarrabi
2026-07-31 7:38 ` Harshal Dev via OP-TEE
2026-07-31 7:38 ` Harshal Dev
2026-07-22 6:59 ` Harshal Dev [this message]
2026-07-22 6:59 ` [PATCH v2 4/6] tee: Export uuidv5 generation for TEE backends Harshal Dev via OP-TEE
2026-07-22 6:59 ` [PATCH v2 5/6] tee: qcomtee: Add support for registering QTEE services on TEE bus Harshal Dev
2026-07-22 6:59 ` Harshal Dev via OP-TEE
2026-07-22 8:29 ` Dmitry Baryshkov
2026-07-22 8:29 ` Dmitry Baryshkov via OP-TEE
2026-07-24 9:13 ` Harshal Dev via OP-TEE
2026-07-24 9:13 ` Harshal Dev
2026-07-29 7:05 ` Amirreza Zarrabi via OP-TEE
2026-07-29 7:05 ` Amirreza Zarrabi
2026-07-31 8:35 ` Harshal Dev via OP-TEE
2026-07-31 8:35 ` Harshal Dev
2026-07-22 6:59 ` [PATCH v2 6/6] firmware: qcom: Add support for TEE based EFI-var client driver Harshal Dev
2026-07-22 6:59 ` Harshal Dev via OP-TEE
2026-07-22 8:37 ` Dmitry Baryshkov
2026-07-22 8:37 ` Dmitry Baryshkov via OP-TEE
2026-07-24 9:14 ` Harshal Dev via OP-TEE
2026-07-24 9:14 ` Harshal Dev
2026-07-24 10:09 ` Harshal Dev
2026-07-24 10:09 ` Harshal Dev via OP-TEE
2026-07-22 8:26 ` [PATCH v2 0/6] Add TEE based client driver for UEFI Secure Application Dmitry Baryshkov
2026-07-22 8:26 ` Dmitry Baryshkov via OP-TEE
2026-07-24 9:13 ` Harshal Dev via OP-TEE
2026-07-24 9:13 ` Harshal Dev
2026-08-03 14:52 ` Harshal Dev via OP-TEE
2026-08-03 14:52 ` Harshal Dev
2026-08-10 5:41 ` Harshal Dev via OP-TEE
2026-08-10 5:41 ` Harshal Dev
2026-08-10 7:07 ` Dmitry Baryshkov via OP-TEE
2026-08-10 7:07 ` Dmitry Baryshkov
2026-08-12 11:30 ` Harshal Dev via OP-TEE
2026-08-12 11:30 ` Harshal Dev
2026-08-17 6:24 ` Harshal Dev via OP-TEE
2026-08-17 6:24 ` Harshal Dev
2026-08-21 8:34 ` Harshal Dev
2026-08-21 8:34 ` Harshal Dev via OP-TEE
2026-08-26 6:43 ` Harshal Dev via OP-TEE
2026-08-26 6:43 ` Harshal Dev
2026-08-29 14:49 ` Dmitry Baryshkov via OP-TEE
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260722-qcom_uefisecapp_migrate_qcomtee-v2-4-b8a8fcbe4211@oss.qualcomm.com \
--to=harshal.dev@oss.qualcomm.com \
--cc=amirreza.zarrabi@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=aneelaka@qti.qualcomm.com \
--cc=apurupa@qti.qualcomm.com \
--cc=basantk@qti.qualcomm.com \
--cc=jens.wiklander@linaro.org \
--cc=jens.wiklander@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=op-tee@lists.trustedfirmware.org \
--cc=sumit.garg@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.