crypto: hash - Make HASH_MAX_DESCSIZE a bit more obvious
Move S390_SHA_CTX_SIZE into crypto/hash.h so that the derivation of HASH_MAX_DESCSIZE is less cryptic. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>pull/1354/merge
parent
34c065fe1d
commit
11d5674fc2
|
|
@ -10,14 +10,15 @@
|
|||
#ifndef _CRYPTO_ARCH_S390_SHA_H
|
||||
#define _CRYPTO_ARCH_S390_SHA_H
|
||||
|
||||
#include <crypto/hash.h>
|
||||
#include <crypto/sha2.h>
|
||||
#include <crypto/sha3.h>
|
||||
#include <linux/build_bug.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/* must be big enough for the largest SHA variant */
|
||||
#define CPACF_MAX_PARMBLOCK_SIZE SHA3_STATE_SIZE
|
||||
#define SHA_MAX_BLOCK_SIZE SHA3_224_BLOCK_SIZE
|
||||
#define S390_SHA_CTX_SIZE sizeof(struct s390_sha_ctx)
|
||||
|
||||
struct s390_sha_ctx {
|
||||
u64 count; /* message length in bytes */
|
||||
|
|
@ -42,4 +43,9 @@ int s390_sha_update_blocks(struct shash_desc *desc, const u8 *data,
|
|||
int s390_sha_finup(struct shash_desc *desc, const u8 *src, unsigned int len,
|
||||
u8 *out);
|
||||
|
||||
static inline void __check_s390_sha_ctx_size(void)
|
||||
{
|
||||
BUILD_BUG_ON(S390_SHA_CTX_SIZE != sizeof(struct s390_sha_ctx));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -177,14 +177,26 @@ struct shash_desc {
|
|||
|
||||
#define HASH_MAX_DIGESTSIZE 64
|
||||
|
||||
/*
|
||||
* The size of a core hash state and a partial block. The final byte
|
||||
* is the length of the partial block.
|
||||
*/
|
||||
#define HASH_STATE_AND_BLOCK(state, block) ((state) + (block) + 1)
|
||||
|
||||
|
||||
/* Worst case is sha3-224. */
|
||||
#define HASH_MAX_STATESIZE 200 + 144 + 1
|
||||
#define HASH_MAX_STATESIZE HASH_STATE_AND_BLOCK(200, 144)
|
||||
|
||||
/* This needs to match arch/s390/crypto/sha.h. */
|
||||
#define S390_SHA_CTX_SIZE 216
|
||||
|
||||
/*
|
||||
* Worst case is hmac(sha3-224-s390). Its context is a nested 'shash_desc'
|
||||
* containing a 'struct s390_sha_ctx'.
|
||||
*/
|
||||
#define HASH_MAX_DESCSIZE (sizeof(struct shash_desc) + 361)
|
||||
#define SHA3_224_S390_DESCSIZE HASH_STATE_AND_BLOCK(S390_SHA_CTX_SIZE, 144)
|
||||
#define HASH_MAX_DESCSIZE (sizeof(struct shash_desc) + \
|
||||
SHA3_224_S390_DESCSIZE)
|
||||
#define MAX_SYNC_HASH_REQSIZE (sizeof(struct ahash_request) + \
|
||||
HASH_MAX_DESCSIZE)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue