X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=crypto%2Fcompress.c;h=eb36d9364da36bcddd1bd792db37710d315f2c14;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=eca182aa33808dd1e54964ff838a91287d2081ea;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/crypto/compress.c b/crypto/compress.c index eca182aa3..eb36d9364 100644 --- a/crypto/compress.c +++ b/crypto/compress.c @@ -22,7 +22,8 @@ static int crypto_compress(struct crypto_tfm *tfm, const u8 *src, unsigned int slen, u8 *dst, unsigned int *dlen) { - return tfm->__crt_alg->cra_compress.coa_compress(tfm, src, slen, dst, + return tfm->__crt_alg->cra_compress.coa_compress(crypto_tfm_ctx(tfm), + src, slen, dst, dlen); } @@ -30,7 +31,8 @@ static int crypto_decompress(struct crypto_tfm *tfm, const u8 *src, unsigned int slen, u8 *dst, unsigned int *dlen) { - return tfm->__crt_alg->cra_compress.coa_decompress(tfm, src, slen, dst, + return tfm->__crt_alg->cra_compress.coa_decompress(crypto_tfm_ctx(tfm), + src, slen, dst, dlen); } @@ -41,14 +43,21 @@ int crypto_init_compress_flags(struct crypto_tfm *tfm, u32 flags) int crypto_init_compress_ops(struct crypto_tfm *tfm) { + int ret = 0; struct compress_tfm *ops = &tfm->crt_compress; + + ret = tfm->__crt_alg->cra_compress.coa_init(crypto_tfm_ctx(tfm)); + if (ret) + goto out; ops->cot_compress = crypto_compress; ops->cot_decompress = crypto_decompress; - return 0; +out: + return ret; } void crypto_exit_compress_ops(struct crypto_tfm *tfm) { + tfm->__crt_alg->cra_compress.coa_exit(crypto_tfm_ctx(tfm)); }