Loading arch/s390/crypto/sha.h +7 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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 include/crypto/hash.h +14 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
arch/s390/crypto/sha.h +7 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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
include/crypto/hash.h +14 −2 Original line number Diff line number Diff line Loading @@ -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