crypto: n2 - add missing hash statesize
commit 76a4e874593543a2dff91d249c95bac728df2774 upstream.
Add missing statesize to hash templates.
This is mandatory otherwise no algorithms can be registered as the core
requires statesize to be set.
CC: stable@kernel.org # 4.3+
Reported-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Tested-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Fixes: 0a625fd2ab
("crypto: n2 - Add Niagara2 crypto driver")
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a5866d531b
commit
93e919d9ac
@ -1278,6 +1278,7 @@ struct n2_hash_tmpl {
|
|||||||
const u32 *hash_init;
|
const u32 *hash_init;
|
||||||
u8 hw_op_hashsz;
|
u8 hw_op_hashsz;
|
||||||
u8 digest_size;
|
u8 digest_size;
|
||||||
|
u8 statesize;
|
||||||
u8 block_size;
|
u8 block_size;
|
||||||
u8 auth_type;
|
u8 auth_type;
|
||||||
u8 hmac_type;
|
u8 hmac_type;
|
||||||
@ -1309,6 +1310,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
|
|||||||
.hmac_type = AUTH_TYPE_HMAC_MD5,
|
.hmac_type = AUTH_TYPE_HMAC_MD5,
|
||||||
.hw_op_hashsz = MD5_DIGEST_SIZE,
|
.hw_op_hashsz = MD5_DIGEST_SIZE,
|
||||||
.digest_size = MD5_DIGEST_SIZE,
|
.digest_size = MD5_DIGEST_SIZE,
|
||||||
|
.statesize = sizeof(struct md5_state),
|
||||||
.block_size = MD5_HMAC_BLOCK_SIZE },
|
.block_size = MD5_HMAC_BLOCK_SIZE },
|
||||||
{ .name = "sha1",
|
{ .name = "sha1",
|
||||||
.hash_zero = sha1_zero_message_hash,
|
.hash_zero = sha1_zero_message_hash,
|
||||||
@ -1317,6 +1319,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
|
|||||||
.hmac_type = AUTH_TYPE_HMAC_SHA1,
|
.hmac_type = AUTH_TYPE_HMAC_SHA1,
|
||||||
.hw_op_hashsz = SHA1_DIGEST_SIZE,
|
.hw_op_hashsz = SHA1_DIGEST_SIZE,
|
||||||
.digest_size = SHA1_DIGEST_SIZE,
|
.digest_size = SHA1_DIGEST_SIZE,
|
||||||
|
.statesize = sizeof(struct sha1_state),
|
||||||
.block_size = SHA1_BLOCK_SIZE },
|
.block_size = SHA1_BLOCK_SIZE },
|
||||||
{ .name = "sha256",
|
{ .name = "sha256",
|
||||||
.hash_zero = sha256_zero_message_hash,
|
.hash_zero = sha256_zero_message_hash,
|
||||||
@ -1325,6 +1328,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
|
|||||||
.hmac_type = AUTH_TYPE_HMAC_SHA256,
|
.hmac_type = AUTH_TYPE_HMAC_SHA256,
|
||||||
.hw_op_hashsz = SHA256_DIGEST_SIZE,
|
.hw_op_hashsz = SHA256_DIGEST_SIZE,
|
||||||
.digest_size = SHA256_DIGEST_SIZE,
|
.digest_size = SHA256_DIGEST_SIZE,
|
||||||
|
.statesize = sizeof(struct sha256_state),
|
||||||
.block_size = SHA256_BLOCK_SIZE },
|
.block_size = SHA256_BLOCK_SIZE },
|
||||||
{ .name = "sha224",
|
{ .name = "sha224",
|
||||||
.hash_zero = sha224_zero_message_hash,
|
.hash_zero = sha224_zero_message_hash,
|
||||||
@ -1333,6 +1337,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
|
|||||||
.hmac_type = AUTH_TYPE_RESERVED,
|
.hmac_type = AUTH_TYPE_RESERVED,
|
||||||
.hw_op_hashsz = SHA256_DIGEST_SIZE,
|
.hw_op_hashsz = SHA256_DIGEST_SIZE,
|
||||||
.digest_size = SHA224_DIGEST_SIZE,
|
.digest_size = SHA224_DIGEST_SIZE,
|
||||||
|
.statesize = sizeof(struct sha256_state),
|
||||||
.block_size = SHA224_BLOCK_SIZE },
|
.block_size = SHA224_BLOCK_SIZE },
|
||||||
};
|
};
|
||||||
#define NUM_HASH_TMPLS ARRAY_SIZE(hash_tmpls)
|
#define NUM_HASH_TMPLS ARRAY_SIZE(hash_tmpls)
|
||||||
@ -1474,6 +1479,7 @@ static int __n2_register_one_ahash(const struct n2_hash_tmpl *tmpl)
|
|||||||
|
|
||||||
halg = &ahash->halg;
|
halg = &ahash->halg;
|
||||||
halg->digestsize = tmpl->digest_size;
|
halg->digestsize = tmpl->digest_size;
|
||||||
|
halg->statesize = tmpl->statesize;
|
||||||
|
|
||||||
base = &halg->base;
|
base = &halg->base;
|
||||||
snprintf(base->cra_name, CRYPTO_MAX_ALG_NAME, "%s", tmpl->name);
|
snprintf(base->cra_name, CRYPTO_MAX_ALG_NAME, "%s", tmpl->name);
|
||||||
|
Loading…
Reference in New Issue
Block a user