提交 500b3e3c 编写于 作者: H Herbert Xu

crypto: ahash - Remove old_ahash_alg

Now that all ahash implementations have been converted to the new
ahash type, we can remove old_ahash_alg and its associated support.
Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
上级 4dc10c01
...@@ -175,46 +175,19 @@ static int ahash_nosetkey(struct crypto_ahash *tfm, const u8 *key, ...@@ -175,46 +175,19 @@ static int ahash_nosetkey(struct crypto_ahash *tfm, const u8 *key,
return -ENOSYS; return -ENOSYS;
} }
static int crypto_init_ahash_ops(struct crypto_tfm *tfm, u32 type, u32 mask)
{
struct old_ahash_alg *alg = &tfm->__crt_alg->cra_ahash;
struct crypto_ahash *crt = __crypto_ahash_cast(tfm);
struct ahash_alg *nalg = crypto_ahash_alg(crt);
if (alg->digestsize > PAGE_SIZE / 8)
return -EINVAL;
crt->init = alg->init;
crt->update = alg->update;
crt->final = alg->final;
crt->digest = alg->digest;
crt->setkey = alg->setkey ? ahash_setkey : ahash_nosetkey;
crt->digestsize = alg->digestsize;
nalg->setkey = alg->setkey;
nalg->halg.digestsize = alg->digestsize;
return 0;
}
static int crypto_ahash_init_tfm(struct crypto_tfm *tfm) static int crypto_ahash_init_tfm(struct crypto_tfm *tfm)
{ {
struct crypto_ahash *hash = __crypto_ahash_cast(tfm); struct crypto_ahash *hash = __crypto_ahash_cast(tfm);
struct ahash_alg *alg = crypto_ahash_alg(hash); struct ahash_alg *alg = crypto_ahash_alg(hash);
struct old_ahash_alg *oalg = crypto_old_ahash_alg(hash);
if (tfm->__crt_alg->cra_type != &crypto_ahash_type) if (tfm->__crt_alg->cra_type != &crypto_ahash_type)
return crypto_init_shash_ops_async(tfm); return crypto_init_shash_ops_async(tfm);
if (oalg->init)
return crypto_init_ahash_ops(tfm, 0, 0);
hash->init = alg->init; hash->init = alg->init;
hash->update = alg->update; hash->update = alg->update;
hash->final = alg->final; hash->final = alg->final;
hash->digest = alg->digest; hash->digest = alg->digest;
hash->setkey = alg->setkey ? ahash_setkey : ahash_nosetkey; hash->setkey = alg->setkey ? ahash_setkey : ahash_nosetkey;
hash->digestsize = alg->halg.digestsize;
return 0; return 0;
} }
......
...@@ -270,7 +270,6 @@ static void crypto_exit_shash_ops_async(struct crypto_tfm *tfm) ...@@ -270,7 +270,6 @@ static void crypto_exit_shash_ops_async(struct crypto_tfm *tfm)
int crypto_init_shash_ops_async(struct crypto_tfm *tfm) int crypto_init_shash_ops_async(struct crypto_tfm *tfm)
{ {
struct crypto_alg *calg = tfm->__crt_alg; struct crypto_alg *calg = tfm->__crt_alg;
struct shash_alg *alg = __crypto_shash_alg(calg);
struct crypto_ahash *crt = __crypto_ahash_cast(tfm); struct crypto_ahash *crt = __crypto_ahash_cast(tfm);
struct crypto_shash **ctx = crypto_tfm_ctx(tfm); struct crypto_shash **ctx = crypto_tfm_ctx(tfm);
struct crypto_shash *shash; struct crypto_shash *shash;
...@@ -293,7 +292,6 @@ int crypto_init_shash_ops_async(struct crypto_tfm *tfm) ...@@ -293,7 +292,6 @@ int crypto_init_shash_ops_async(struct crypto_tfm *tfm)
crt->digest = shash_async_digest; crt->digest = shash_async_digest;
crt->setkey = shash_async_setkey; crt->setkey = shash_async_setkey;
crt->digestsize = alg->digestsize;
crt->reqsize = sizeof(struct shash_desc) + crypto_shash_descsize(shash); crt->reqsize = sizeof(struct shash_desc) + crypto_shash_descsize(shash);
return 0; return 0;
......
...@@ -89,7 +89,6 @@ struct crypto_ahash { ...@@ -89,7 +89,6 @@ struct crypto_ahash {
int (*setkey)(struct crypto_ahash *tfm, const u8 *key, int (*setkey)(struct crypto_ahash *tfm, const u8 *key,
unsigned int keylen); unsigned int keylen);
unsigned int digestsize;
unsigned int reqsize; unsigned int reqsize;
struct crypto_tfm base; struct crypto_tfm base;
}; };
...@@ -137,7 +136,7 @@ static inline struct hash_alg_common *crypto_hash_alg_common( ...@@ -137,7 +136,7 @@ static inline struct hash_alg_common *crypto_hash_alg_common(
static inline unsigned int crypto_ahash_digestsize(struct crypto_ahash *tfm) static inline unsigned int crypto_ahash_digestsize(struct crypto_ahash *tfm)
{ {
return tfm->digestsize; return crypto_hash_alg_common(tfm)->digestsize;
} }
static inline unsigned int crypto_ahash_statesize(struct crypto_ahash *tfm) static inline unsigned int crypto_ahash_statesize(struct crypto_ahash *tfm)
......
...@@ -109,12 +109,6 @@ static inline struct ahash_alg *__crypto_ahash_alg(struct crypto_alg *alg) ...@@ -109,12 +109,6 @@ static inline struct ahash_alg *__crypto_ahash_alg(struct crypto_alg *alg)
halg); halg);
} }
static inline struct old_ahash_alg *crypto_old_ahash_alg(
struct crypto_ahash *tfm)
{
return &crypto_ahash_tfm(tfm)->__crt_alg->cra_ahash;
}
static inline void crypto_ahash_set_reqsize(struct crypto_ahash *tfm, static inline void crypto_ahash_set_reqsize(struct crypto_ahash *tfm,
unsigned int reqsize) unsigned int reqsize)
{ {
......
...@@ -115,12 +115,10 @@ struct crypto_async_request; ...@@ -115,12 +115,10 @@ struct crypto_async_request;
struct crypto_aead; struct crypto_aead;
struct crypto_blkcipher; struct crypto_blkcipher;
struct crypto_hash; struct crypto_hash;
struct crypto_ahash;
struct crypto_rng; struct crypto_rng;
struct crypto_tfm; struct crypto_tfm;
struct crypto_type; struct crypto_type;
struct aead_givcrypt_request; struct aead_givcrypt_request;
struct ahash_request;
struct skcipher_givcrypt_request; struct skcipher_givcrypt_request;
typedef void (*crypto_completion_t)(struct crypto_async_request *req, int err); typedef void (*crypto_completion_t)(struct crypto_async_request *req, int err);
...@@ -211,18 +209,6 @@ struct ablkcipher_alg { ...@@ -211,18 +209,6 @@ struct ablkcipher_alg {
unsigned int ivsize; unsigned int ivsize;
}; };
struct old_ahash_alg {
int (*init)(struct ahash_request *req);
int (*reinit)(struct ahash_request *req);
int (*update)(struct ahash_request *req);
int (*final)(struct ahash_request *req);
int (*digest)(struct ahash_request *req);
int (*setkey)(struct crypto_ahash *tfm, const u8 *key,
unsigned int keylen);
unsigned int digestsize;
};
struct aead_alg { struct aead_alg {
int (*setkey)(struct crypto_aead *tfm, const u8 *key, int (*setkey)(struct crypto_aead *tfm, const u8 *key,
unsigned int keylen); unsigned int keylen);
...@@ -309,7 +295,6 @@ struct rng_alg { ...@@ -309,7 +295,6 @@ struct rng_alg {
#define cra_cipher cra_u.cipher #define cra_cipher cra_u.cipher
#define cra_digest cra_u.digest #define cra_digest cra_u.digest
#define cra_hash cra_u.hash #define cra_hash cra_u.hash
#define cra_ahash cra_u.ahash
#define cra_compress cra_u.compress #define cra_compress cra_u.compress
#define cra_rng cra_u.rng #define cra_rng cra_u.rng
...@@ -337,7 +322,6 @@ struct crypto_alg { ...@@ -337,7 +322,6 @@ struct crypto_alg {
struct cipher_alg cipher; struct cipher_alg cipher;
struct digest_alg digest; struct digest_alg digest;
struct hash_alg hash; struct hash_alg hash;
struct old_ahash_alg ahash;
struct compress_alg compress; struct compress_alg compress;
struct rng_alg rng; struct rng_alg rng;
} cra_u; } cra_u;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册