Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27c00daf authored by David Sterba's avatar David Sterba Committed by Alistair Delva
Browse files

UPSTREAM: crypto: blake2b - rename tfm context and _setkey callback



The TFM context can be renamed to a more appropriate name and the local
varaibles as well, using 'tctx' which seems to be more common than
'mctx'.

The _setkey callback was the last one without the blake2b_ prefix,
rename that too.

Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit c433a1a8572eceb7c45dd85d93fec6946b71bb72)
Bug: 178411248
Change-Id: I8b7dfa5779ee6f76bb7e21572d29df1310705485
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent 196f7b51
Loading
Loading
Loading
Loading
+18 −18
Original line number Diff line number Diff line
@@ -137,30 +137,30 @@ static void blake2b_compress(struct blake2b_state *S,
#undef G
#undef ROUND

struct digest_tfm_ctx {
struct blake2b_tfm_ctx {
	u8 key[BLAKE2B_KEYBYTES];
	unsigned int keylen;
};

static int digest_setkey(struct crypto_shash *tfm, const u8 *key,
static int blake2b_setkey(struct crypto_shash *tfm, const u8 *key,
			  unsigned int keylen)
{
	struct digest_tfm_ctx *mctx = crypto_shash_ctx(tfm);
	struct blake2b_tfm_ctx *tctx = crypto_shash_ctx(tfm);

	if (keylen == 0 || keylen > BLAKE2B_KEYBYTES) {
		crypto_shash_set_flags(tfm, CRYPTO_TFM_RES_BAD_KEY_LEN);
		return -EINVAL;
	}

	memcpy(mctx->key, key, keylen);
	mctx->keylen = keylen;
	memcpy(tctx->key, key, keylen);
	tctx->keylen = keylen;

	return 0;
}

static int blake2b_init(struct shash_desc *desc)
{
	struct digest_tfm_ctx *mctx = crypto_shash_ctx(desc->tfm);
	struct blake2b_tfm_ctx *tctx = crypto_shash_ctx(desc->tfm);
	struct blake2b_state *state = shash_desc_ctx(desc);
	const int digestsize = crypto_shash_digestsize(desc->tfm);

@@ -168,14 +168,14 @@ static int blake2b_init(struct shash_desc *desc)
	memcpy(state->h, blake2b_IV, sizeof(state->h));

	/* Parameter block is all zeros except index 0, no xor for 1..7 */
	state->h[0] ^= 0x01010000 | mctx->keylen << 8 | digestsize;
	state->h[0] ^= 0x01010000 | tctx->keylen << 8 | digestsize;

	if (mctx->keylen) {
	if (tctx->keylen) {
		/*
		 * Prefill the buffer with the key, next call to _update or
		 * _final will process it
		 */
		memcpy(state->buf, mctx->key, mctx->keylen);
		memcpy(state->buf, tctx->key, tctx->keylen);
		state->buflen = BLAKE2B_BLOCKBYTES;
	}
	return 0;
@@ -241,10 +241,10 @@ static struct shash_alg blake2b_algs[] = {
		.base.cra_priority	= 100,
		.base.cra_flags		= CRYPTO_ALG_OPTIONAL_KEY,
		.base.cra_blocksize	= BLAKE2B_BLOCKBYTES,
		.base.cra_ctxsize	= sizeof(struct digest_tfm_ctx),
		.base.cra_ctxsize	= sizeof(struct blake2b_tfm_ctx),
		.base.cra_module	= THIS_MODULE,
		.digestsize		= BLAKE2B_160_DIGEST_SIZE,
		.setkey			= digest_setkey,
		.setkey			= blake2b_setkey,
		.init			= blake2b_init,
		.update			= blake2b_update,
		.final			= blake2b_final,
@@ -255,10 +255,10 @@ static struct shash_alg blake2b_algs[] = {
		.base.cra_priority	= 100,
		.base.cra_flags		= CRYPTO_ALG_OPTIONAL_KEY,
		.base.cra_blocksize	= BLAKE2B_BLOCKBYTES,
		.base.cra_ctxsize	= sizeof(struct digest_tfm_ctx),
		.base.cra_ctxsize	= sizeof(struct blake2b_tfm_ctx),
		.base.cra_module	= THIS_MODULE,
		.digestsize		= BLAKE2B_256_DIGEST_SIZE,
		.setkey			= digest_setkey,
		.setkey			= blake2b_setkey,
		.init			= blake2b_init,
		.update			= blake2b_update,
		.final			= blake2b_final,
@@ -269,10 +269,10 @@ static struct shash_alg blake2b_algs[] = {
		.base.cra_priority	= 100,
		.base.cra_flags		= CRYPTO_ALG_OPTIONAL_KEY,
		.base.cra_blocksize	= BLAKE2B_BLOCKBYTES,
		.base.cra_ctxsize	= sizeof(struct digest_tfm_ctx),
		.base.cra_ctxsize	= sizeof(struct blake2b_tfm_ctx),
		.base.cra_module	= THIS_MODULE,
		.digestsize		= BLAKE2B_384_DIGEST_SIZE,
		.setkey			= digest_setkey,
		.setkey			= blake2b_setkey,
		.init			= blake2b_init,
		.update			= blake2b_update,
		.final			= blake2b_final,
@@ -283,10 +283,10 @@ static struct shash_alg blake2b_algs[] = {
		.base.cra_priority	= 100,
		.base.cra_flags		= CRYPTO_ALG_OPTIONAL_KEY,
		.base.cra_blocksize	= BLAKE2B_BLOCKBYTES,
		.base.cra_ctxsize	= sizeof(struct digest_tfm_ctx),
		.base.cra_ctxsize	= sizeof(struct blake2b_tfm_ctx),
		.base.cra_module	= THIS_MODULE,
		.digestsize		= BLAKE2B_512_DIGEST_SIZE,
		.setkey			= digest_setkey,
		.setkey			= blake2b_setkey,
		.init			= blake2b_init,
		.update			= blake2b_update,
		.final			= blake2b_final,