tpm: Rename TPM2_OA_TMPL to TPM2_OA_NULL_KEY and make it local
Subsystems (3)
Jarkko Sakkinen
maintainerPATCH v2 1/1 tpm: Rename TPM2_OA_TMPL to TPM2_OA_NULL_KEY and make it local
Rename and document TPM2_OA_TMPL, as originally requested in the patch set review, but left unaddressed without any appropriate reasoning. The new name is TPM2_OA_NULL_KEY, has a documentation and is local only to tpm2-sessions.c.
Link https://lore.kernel.org/linux-integrity/ddbeb8111f48a8ddb0b8fca248dff6cc9d7079b2.camel@HansenPartnership.com/ open here
Signed-off-by Jarkko Sakkinen <[email protected]>
---
v2:
- linux/tpm.h is not a place for AES_* constants. Move them also to drivers/char/tpm/tpm2-sessions.c.
- Remove the comment related to TPM2_OA_TMPL as "key tcg documents" is not a legit xerf, and thus only adds obfuscation.
--- drivers/char/tpm/tpm2-sessions.c | 21 +++++++++++++++++++-- include/linux/tpm.h | 15 --------------- 2 files changed, 19 insertions(+), 17 deletions(-)
drivers/char/tpm/tpm2-sessions.c +19 -2
@@ -80,6 +80,9 @@/* maximum number of names the TPM must remember for authorization */ #define AUTH_MAX_NAMES 3 +#define AES_KEY_BYTES AES_KEYSIZE_128 +#define AES_KEY_BITS (AES_KEY_BYTES*8) +static int tpm2_create_primary (struct tpm_chip *chip,u32 hierarchy,u32 *handle,u8 *name);
@@ -954,6 +957,20 @@ int tpm2_start_auth_session(struct tpm_chip *chip) }EXPORT_SYMBOL (tpm2_start_auth_session); +/* +* A mask containing the object attributes for the kernel held null primary key +* used in HMAC encryption. For more information on specific attributes look up +* to "8.3 TPMA_OBJECT (Object Attributes)". +*/ +#define TPM2_OA_NULL_KEY ( \ + TPM2_OA_NO_DA | \ + TPM2_OA_FIXED_TPM | \ + TPM2_OA_FIXED_PARENT | \ + TPM2_OA_SENSITIVE_DATA_ORIGIN | \ + TPM2_OA_USER_WITH_AUTH | \ + TPM2_OA_DECRYPT | \ + TPM2_OA_RESTRICTED) +/** * tpm2_parse_create_primary() - parse the data returned from TPM_CC_CREATE_PRIMARY *
@@ -1018,7 +1035,7 @@ static int tpm2_parse_create_primary(struct tpm_chip *chip, struct tpm_buf *buf, val =tpm_buf_read_u32 (buf, &offset_t);/* object properties */ -if (val !=TPM2_OA_TMPL ) +if (val !=TPM2_OA_NULL_KEY )return -EINVAL ;/* auth policy (empty) */
@@ -1178,7 +1195,7 @@ static int tpm2_create_primary(struct tpm_chip *chip, u32 hierarchy,tpm_buf_append_u16 (&template,TPM_ALG_SHA256 );/* object properties */ -tpm_buf_append_u32 (&template,TPM2_OA_TMPL ); +tpm_buf_append_u32 (&template,TPM2_OA_NULL_KEY );/* sauth policy (empty) */ tpm_buf_append_u16 (&template,0 );
include/linux/tpm.h +0 -15
@@ -394,21 +394,6 @@ enum tpm2_object_attributes { TPM2_OA_SIGN = BIT(18), }; -/* -* definitions for the canonical template. These are mandated -* by the TCG key template documents -*/ - -#define AES_KEY_BYTES AES_KEYSIZE_128 -#define AES_KEY_BITS (AES_KEY_BYTES*8) -#define TPM2_OA_TMPL (TPM2_OA_NO_DA | \ - TPM2_OA_FIXED_TPM | \ - TPM2_OA_FIXED_PARENT | \ - TPM2_OA_SENSITIVE_DATA_ORIGIN | \ - TPM2_OA_USER_WITH_AUTH | \ - TPM2_OA_DECRYPT | \ - TPM2_OA_RESTRICTED) -enum tpm2_session_attributes {TPM2_SA_CONTINUE_SESSION =BIT (0 ),TPM2_SA_AUDIT_EXCLUSIVE =BIT (1 ),
Signature · 1 line
2.45.1