@@ -160,9 +160,9 @@ static char *secboot_serialize_secvar(char *target, const struct secvar *var, co
+ var->key_len + var->data_size) > end)
return NULL;
- *((uint64_t*) target) = cpu_to_be64(var->key_len);
+ *((beint64_t*) target) = cpu_to_be64(var->key_len);
target += sizeof(var->key_len);
- *((uint64_t*) target) = cpu_to_be64(var->data_size);
+ *((beint64_t*) target) = cpu_to_be64(var->data_size);
target += sizeof(var->data_size);
memcpy(target, var->key, var->key_len);
target += var->key_len;
@@ -289,9 +289,9 @@ static int secboot_deserialize_secvar(struct secvar **var, char **src, const cha
assert(var);
/* Load in the two header values */
- key_len = be64_to_cpu(*((uint64_t *) *src));
+ key_len = be64_to_cpu(*((beint64_t *) *src));
*src += sizeof(uint64_t);
- data_size = be64_to_cpu(*((uint64_t *) *src));
+ data_size = be64_to_cpu(*((beint64_t *) *src));
*src += sizeof(uint64_t);
/* Check if we've reached the last var to deserialize */
@@ -1295,7 +1295,7 @@ TPM_RC TSS_GetCommandDecryptParam(TSS_AUTH_CONTEXT *tssAuthContext,
}
/* extract contents of the first TPM2B */
if (rc == 0) {
- *decryptParamSize = ntohs(*(uint16_t *)cpBuffer);
+ *decryptParamSize = ntohs(*(beint16_t *)cpBuffer);
*decryptParamBuffer = cpBuffer + sizeof(uint16_t);
}
/* sanity range check */
@@ -1491,7 +1491,7 @@ TPM_RC TSS_GetResponseEncryptParam(TSS_AUTH_CONTEXT *tssAuthContext,
}
/* extract contents of the first TPM2B */
if (rc == 0) {
- *encryptParamSize = ntohs(*(uint16_t *)rpBuffer);
+ *encryptParamSize = ntohs(*(beint16_t *)rpBuffer);
*encryptParamBuffer = rpBuffer + sizeof(uint16_t);
}
/* sanity range check */
@@ -166,7 +166,7 @@ TPM_RC TSS_Dev_Transmit(TSS_CONTEXT *tssContext,
* it here.
*/
if (rc == 0) {
- responseSize = ntohl(*(uint32_t *)(responseBuffer + sizeof(TPM_ST)));
+ responseSize = ntohl(*(beint32_t *)(responseBuffer + sizeof(TPM_ST)));
if (responseSize != *length) {
if (tssVerbose)
printf("TSS_Skiboot_Transmit: Bytes read (%u) and Buffer responseSize field (%lu) don't match\n",
@@ -180,7 +180,7 @@ TPM_RC TSS_Dev_Transmit(TSS_CONTEXT *tssContext,
* and deliver it to the upper layers
*/
if (rc == 0)
- rc = ntohl(*(uint32_t *)(responseBuffer + sizeof(TPM_ST) + sizeof(uint32_t)));
+ rc = ntohl(*(beint32_t *)(responseBuffer + sizeof(TPM_ST) + sizeof(uint32_t)));
if (tssVverbose)
printf("TSS_Skiboot_Transmit: Response Code: %08x", rc);
@@ -253,7 +253,7 @@ TPM_RC TSS_TPM2B_CreateUint32(TPM2B *target, uint32_t source, uint16_t targetSiz
}
}
if (rc == 0) {
- uint32_t sourceNbo = htonl(source);
+ beint32_t sourceNbo = htonl(source);
memmove(target->buffer, (uint8_t *)&sourceNbo, sizeof(uint32_t));
target->size = sizeof(uint32_t);
}
Add endian annotations to silence sparse endian warnings in libstb. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- libstb/secvar/storage/secboot_tpm.c | 8 ++++---- libstb/tss2/ibmtpm20tss/utils/tssauth20.c | 4 ++-- libstb/tss2/ibmtpm20tss/utils/tssdevskiboot.c | 4 ++-- libstb/tss2/ibmtpm20tss/utils/tssutils.c | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-)