summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Sukhomlinov <sukhomlinov@google.com>2021-09-17 09:52:05 -0700
committerCommit Bot <commit-bot@chromium.org>2021-09-17 20:44:14 +0000
commit469a4055e4b71bf2a8550e837401c255a8f06416 (patch)
tree8432203fe297e1399aca8dd1d918d87646484935
parent222f2fb900fc74a369aa80163219eba323f1ad75 (diff)
downloadchrome-ec-469a4055e4b71bf2a8550e837401c255a8f06416.tar.gz
cr50: remove unused and empty struct APPKEY_CTX from APIs
struct APPKEY_CTX is an empty struct passed with few APIs and not used for any purpose. Remove it. BUG=none TEST=make BOARD=cr50 CRYPTO_TEST=1; Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com> Change-Id: I4bcb8f196b70cefc58a81e8592d83aa70464fcf8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169374 Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Commit-Queue: Vadim Sukhomlinov <sukhomlinov@chromium.org>
-rw-r--r--board/cr50/dcrypto/app_cipher.c10
-rw-r--r--board/cr50/dcrypto/app_key.c6
-rw-r--r--board/cr50/dcrypto/dcrypto.h10
-rw-r--r--board/cr50/dcrypto/u2f.c5
-rw-r--r--board/host/dcrypto.h5
-rw-r--r--chip/host/dcrypto/app_key.c5
-rw-r--r--common/pinweaver.c5
-rw-r--r--test/pinweaver.c4
8 files changed, 18 insertions, 32 deletions
diff --git a/board/cr50/dcrypto/app_cipher.c b/board/cr50/dcrypto/app_cipher.c
index 099e837b7c..6bbcfdab11 100644
--- a/board/cr50/dcrypto/app_cipher.c
+++ b/board/cr50/dcrypto/app_cipher.c
@@ -81,11 +81,10 @@ static int outer_loop(uint32_t **out, const uint32_t **in, size_t len)
return len;
}
-static int aes_init(struct APPKEY_CTX *ctx, enum dcrypto_appid appid,
- const uint32_t iv[4])
+static int aes_init(enum dcrypto_appid appid, const uint32_t iv[4])
{
/* Setup USR-based application key. */
- if (!DCRYPTO_appkey_init(appid, ctx))
+ if (!DCRYPTO_appkey_init(appid))
return 0;
/* Configure AES engine. */
@@ -130,7 +129,6 @@ static int aes_init(struct APPKEY_CTX *ctx, enum dcrypto_appid appid,
int DCRYPTO_app_cipher(enum dcrypto_appid appid, const void *salt,
void *out, const void *in, size_t len)
{
- struct APPKEY_CTX ctx;
const uint32_t *inw = in;
uint32_t *outw = out;
@@ -144,7 +142,7 @@ int DCRYPTO_app_cipher(enum dcrypto_appid appid, const void *salt,
BUILD_ASSERT(sizeof(iv) == CIPHER_SALT_SIZE);
memcpy(iv, salt, sizeof(iv));
- if (!aes_init(&ctx, appid, iv))
+ if (!aes_init(appid, iv))
return 0;
}
@@ -165,7 +163,7 @@ int DCRYPTO_app_cipher(enum dcrypto_appid appid, const void *salt,
memcpy(outw, tmpout, len);
}
- DCRYPTO_appkey_finish(&ctx);
+ DCRYPTO_appkey_finish();
return 1;
}
diff --git a/board/cr50/dcrypto/app_key.c b/board/cr50/dcrypto/app_key.c
index 0bc7620ed7..9c40277e6f 100644
--- a/board/cr50/dcrypto/app_key.c
+++ b/board/cr50/dcrypto/app_key.c
@@ -53,11 +53,10 @@ static void name_hash(enum dcrypto_appid appid,
digest->b32[x] = __builtin_bswap32(digest->b32[x]);
}
-int DCRYPTO_appkey_init(enum dcrypto_appid appid, struct APPKEY_CTX *ctx)
+int DCRYPTO_appkey_init(enum dcrypto_appid appid)
{
struct sha256_digest digest;
- memset(ctx, 0, sizeof(*ctx));
name_hash(appid, &digest);
if (!dcrypto_ladder_compute_usr(appid, digest.b32))
@@ -66,9 +65,8 @@ int DCRYPTO_appkey_init(enum dcrypto_appid appid, struct APPKEY_CTX *ctx)
return 1;
}
-void DCRYPTO_appkey_finish(struct APPKEY_CTX *ctx)
+void DCRYPTO_appkey_finish(void)
{
- always_memset(ctx, 0, sizeof(struct APPKEY_CTX));
GREG32(KEYMGR, AES_WIPE_SECRETS) = 1;
}
diff --git a/board/cr50/dcrypto/dcrypto.h b/board/cr50/dcrypto/dcrypto.h
index b89eccd84e..50285286d9 100644
--- a/board/cr50/dcrypto/dcrypto.h
+++ b/board/cr50/dcrypto/dcrypto.h
@@ -411,17 +411,11 @@ enum dcrypto_appid {
/* This enum value should not exceed 7. */
};
-struct APPKEY_CTX {
-#ifdef TEST_FUZZ
- uint8_t unused_for_cxx_compatibility;
-#endif
-};
-
int DCRYPTO_ladder_compute_frk2(size_t major_fw_version, uint8_t *frk2);
void DCRYPTO_ladder_revoke(void);
-int DCRYPTO_appkey_init(enum dcrypto_appid id, struct APPKEY_CTX *ctx);
-void DCRYPTO_appkey_finish(struct APPKEY_CTX *ctx);
+int DCRYPTO_appkey_init(enum dcrypto_appid id);
+void DCRYPTO_appkey_finish(void);
int DCRYPTO_appkey_derive(enum dcrypto_appid appid, const uint32_t input[8],
uint32_t output[8]);
diff --git a/board/cr50/dcrypto/u2f.c b/board/cr50/dcrypto/u2f.c
index 15bdddcbe8..92b74b002f 100644
--- a/board/cr50/dcrypto/u2f.c
+++ b/board/cr50/dcrypto/u2f.c
@@ -109,7 +109,6 @@ static void u2f_authorization_mac(const struct u2f_state *state,
static int app_hw_device_id(enum dcrypto_appid appid, const uint32_t input[8],
uint32_t output[8])
{
- struct APPKEY_CTX ctx;
int result;
/**
@@ -121,7 +120,7 @@ static int app_hw_device_id(enum dcrypto_appid appid, const uint32_t input[8],
* Important property:
* For same appid it will load same value.
*/
- if (!DCRYPTO_appkey_init(appid, &ctx))
+ if (!DCRYPTO_appkey_init(appid))
return 0;
/**
@@ -131,7 +130,7 @@ static int app_hw_device_id(enum dcrypto_appid appid, const uint32_t input[8],
*/
result = DCRYPTO_appkey_derive(appid, input, output);
- DCRYPTO_appkey_finish(&ctx);
+ DCRYPTO_appkey_finish();
return result;
}
diff --git a/board/host/dcrypto.h b/board/host/dcrypto.h
index c124bddd31..6950740f93 100644
--- a/board/host/dcrypto.h
+++ b/board/host/dcrypto.h
@@ -49,11 +49,10 @@ const struct sha256_digest *HMAC_SHA256_hw_final(struct hmac_sha256_ctx *ctx);
int DCRYPTO_aes_ctr(uint8_t *out, const uint8_t *key, uint32_t key_bits,
const uint8_t *iv, const uint8_t *in, size_t in_len);
-struct APPKEY_CTX {};
-int DCRYPTO_appkey_init(enum dcrypto_appid appid, struct APPKEY_CTX *ctx);
+int DCRYPTO_appkey_init(enum dcrypto_appid appid);
-void DCRYPTO_appkey_finish(struct APPKEY_CTX *ctx);
+void DCRYPTO_appkey_finish(void);
int DCRYPTO_appkey_derive(enum dcrypto_appid appid, const uint32_t input[8],
uint32_t output[8]);
diff --git a/chip/host/dcrypto/app_key.c b/chip/host/dcrypto/app_key.c
index 58066c84ba..2c993bdbce 100644
--- a/chip/host/dcrypto/app_key.c
+++ b/chip/host/dcrypto/app_key.c
@@ -7,7 +7,7 @@
static int dcrypto_appkey_init_flag_ = -1;
-int DCRYPTO_appkey_init(enum dcrypto_appid appid, struct APPKEY_CTX *ctx)
+int DCRYPTO_appkey_init(enum dcrypto_appid appid)
{
if (dcrypto_appkey_init_flag_ != -1)
return 0;
@@ -16,9 +16,8 @@ int DCRYPTO_appkey_init(enum dcrypto_appid appid, struct APPKEY_CTX *ctx)
return 1;
}
-void DCRYPTO_appkey_finish(struct APPKEY_CTX *ctx)
+void DCRYPTO_appkey_finish(void)
{
- memset(ctx, 0, sizeof(struct APPKEY_CTX));
dcrypto_appkey_init_flag_ = -1;
}
diff --git a/common/pinweaver.c b/common/pinweaver.c
index 5b9f498fd9..0bcd752ab6 100644
--- a/common/pinweaver.c
+++ b/common/pinweaver.c
@@ -111,7 +111,6 @@ void import_leaf(const struct unimported_leaf_data_t *unimported,
static int derive_keys(struct merkle_tree_t *merkle_tree)
{
- struct APPKEY_CTX ctx;
int ret = EC_SUCCESS;
const uint32_t KEY_TYPE_AES = 0x0;
const uint32_t KEY_TYPE_HMAC = 0xffffffff;
@@ -129,7 +128,7 @@ static int derive_keys(struct merkle_tree_t *merkle_tree)
input.bytes[x] ^= merkle_tree->key_derivation_nonce[x];
type_field = input.v[6];
- if (!DCRYPTO_appkey_init(PINWEAVER, &ctx))
+ if (!DCRYPTO_appkey_init(PINWEAVER))
return PW_ERR_CRYPTO_FAILURE;
input.v[6] = type_field ^ KEY_TYPE_AES;
@@ -145,7 +144,7 @@ static int derive_keys(struct merkle_tree_t *merkle_tree)
ret = PW_ERR_CRYPTO_FAILURE;
}
cleanup:
- DCRYPTO_appkey_finish(&ctx);
+ DCRYPTO_appkey_finish();
return ret;
}
diff --git a/test/pinweaver.c b/test/pinweaver.c
index f755373b76..21bd30396d 100644
--- a/test/pinweaver.c
+++ b/test/pinweaver.c
@@ -949,13 +949,13 @@ int DCRYPTO_aes_ctr(uint8_t *out, const uint8_t *key, uint32_t key_bits,
}
/* 1 for success 0 for fail*/
-int DCRYPTO_appkey_init(enum dcrypto_appid appid, struct APPKEY_CTX *ctx)
+int DCRYPTO_appkey_init(enum dcrypto_appid appid)
{
MOCK_hwctx_appkey = appid;
return 1;
}
-void DCRYPTO_appkey_finish(struct APPKEY_CTX *ctx)
+void DCRYPTO_appkey_finish(void)
{
MOCK_hwctx_appkey = 0;
}