crt->final = alg->final;
crt->digest = alg->digest;
crt->setkey = ahash_setkey;
- crt->base = __crypto_ahash_cast(tfm);
crt->digestsize = alg->digestsize;
return 0;
crt->setkey = dalg->dia_setkey ? digest_async_setkey :
digest_async_nosetkey;
crt->digestsize = dalg->dia_digestsize;
- crt->base = __crypto_ahash_cast(tfm);
return 0;
}
crt->digest = hash_async_digest;
crt->setkey = hash_async_setkey;
crt->digestsize = alg->digestsize;
- crt->base = __crypto_ahash_cast(tfm);
return 0;
}
struct ahash_request {
struct crypto_async_request base;
- void *info;
-
unsigned int nbytes;
struct scatterlist *src;
u8 *result;
unsigned int keylen);
unsigned int digestsize;
- struct crypto_ahash *base;
unsigned int reqsize;
};
{
struct ahash_tfm *crt = crypto_ahash_crt(tfm);
- return crt->setkey(crt->base, key, keylen);
+ return crt->setkey(tfm, key, keylen);
}
static inline int crypto_ahash_digest(struct ahash_request *req)
static inline void ahash_request_set_tfm(struct ahash_request *req,
struct crypto_ahash *tfm)
{
- req->base.tfm = crypto_ahash_tfm(crypto_ahash_crt(tfm)->base);
+ req->base.tfm = crypto_ahash_tfm(tfm);
}
static inline struct ahash_request *ahash_request_alloc(