crypto: compress - remove crt_u.compress (struct compress_tfm)
crt_u.compress (struct compress_tfm) is pointless because its two fields, ->cot_compress() and ->cot_decompress(), always point to crypto_compress() and crypto_decompress(). Remove this pointless indirection, and just make crypto_comp_compress() and crypto_comp_decompress() be direct calls to what used to be crypto_compress() and crypto_decompress(). Also remove the unused function crypto_comp_cast(). Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
49763fc6b1
Коммит
c441a909c6
|
@ -301,7 +301,7 @@ static int crypto_init_ops(struct crypto_tfm *tfm, u32 type, u32 mask)
|
||||||
return crypto_init_cipher_ops(tfm);
|
return crypto_init_cipher_ops(tfm);
|
||||||
|
|
||||||
case CRYPTO_ALG_TYPE_COMPRESS:
|
case CRYPTO_ALG_TYPE_COMPRESS:
|
||||||
return crypto_init_compress_ops(tfm);
|
return 0;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -6,34 +6,27 @@
|
||||||
*
|
*
|
||||||
* Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
|
* Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
|
||||||
*/
|
*/
|
||||||
#include <linux/types.h>
|
|
||||||
#include <linux/crypto.h>
|
#include <linux/crypto.h>
|
||||||
#include <linux/errno.h>
|
|
||||||
#include <linux/string.h>
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
static int crypto_compress(struct crypto_tfm *tfm,
|
int crypto_comp_compress(struct crypto_comp *comp,
|
||||||
const u8 *src, unsigned int slen,
|
const u8 *src, unsigned int slen,
|
||||||
u8 *dst, unsigned int *dlen)
|
u8 *dst, unsigned int *dlen)
|
||||||
{
|
{
|
||||||
|
struct crypto_tfm *tfm = crypto_comp_tfm(comp);
|
||||||
|
|
||||||
return tfm->__crt_alg->cra_compress.coa_compress(tfm, src, slen, dst,
|
return tfm->__crt_alg->cra_compress.coa_compress(tfm, src, slen, dst,
|
||||||
dlen);
|
dlen);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(crypto_comp_compress);
|
||||||
|
|
||||||
static int crypto_decompress(struct crypto_tfm *tfm,
|
int crypto_comp_decompress(struct crypto_comp *comp,
|
||||||
const u8 *src, unsigned int slen,
|
const u8 *src, unsigned int slen,
|
||||||
u8 *dst, unsigned int *dlen)
|
u8 *dst, unsigned int *dlen)
|
||||||
{
|
{
|
||||||
|
struct crypto_tfm *tfm = crypto_comp_tfm(comp);
|
||||||
|
|
||||||
return tfm->__crt_alg->cra_compress.coa_decompress(tfm, src, slen, dst,
|
return tfm->__crt_alg->cra_compress.coa_decompress(tfm, src, slen, dst,
|
||||||
dlen);
|
dlen);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(crypto_comp_decompress);
|
||||||
int crypto_init_compress_ops(struct crypto_tfm *tfm)
|
|
||||||
{
|
|
||||||
struct compress_tfm *ops = &tfm->crt_compress;
|
|
||||||
|
|
||||||
ops->cot_compress = crypto_compress;
|
|
||||||
ops->cot_decompress = crypto_decompress;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
|
@ -59,7 +59,6 @@ struct crypto_alg *crypto_mod_get(struct crypto_alg *alg);
|
||||||
struct crypto_alg *crypto_alg_mod_lookup(const char *name, u32 type, u32 mask);
|
struct crypto_alg *crypto_alg_mod_lookup(const char *name, u32 type, u32 mask);
|
||||||
|
|
||||||
int crypto_init_cipher_ops(struct crypto_tfm *tfm);
|
int crypto_init_cipher_ops(struct crypto_tfm *tfm);
|
||||||
int crypto_init_compress_ops(struct crypto_tfm *tfm);
|
|
||||||
|
|
||||||
struct crypto_larval *crypto_larval_alloc(const char *name, u32 type, u32 mask);
|
struct crypto_larval *crypto_larval_alloc(const char *name, u32 type, u32 mask);
|
||||||
void crypto_larval_kill(struct crypto_alg *alg);
|
void crypto_larval_kill(struct crypto_alg *alg);
|
||||||
|
|
|
@ -606,17 +606,7 @@ struct cipher_tfm {
|
||||||
void (*cit_decrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
|
void (*cit_decrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct compress_tfm {
|
|
||||||
int (*cot_compress)(struct crypto_tfm *tfm,
|
|
||||||
const u8 *src, unsigned int slen,
|
|
||||||
u8 *dst, unsigned int *dlen);
|
|
||||||
int (*cot_decompress)(struct crypto_tfm *tfm,
|
|
||||||
const u8 *src, unsigned int slen,
|
|
||||||
u8 *dst, unsigned int *dlen);
|
|
||||||
};
|
|
||||||
|
|
||||||
#define crt_cipher crt_u.cipher
|
#define crt_cipher crt_u.cipher
|
||||||
#define crt_compress crt_u.compress
|
|
||||||
|
|
||||||
struct crypto_tfm {
|
struct crypto_tfm {
|
||||||
|
|
||||||
|
@ -624,7 +614,6 @@ struct crypto_tfm {
|
||||||
|
|
||||||
union {
|
union {
|
||||||
struct cipher_tfm cipher;
|
struct cipher_tfm cipher;
|
||||||
struct compress_tfm compress;
|
|
||||||
} crt_u;
|
} crt_u;
|
||||||
|
|
||||||
void (*exit)(struct crypto_tfm *tfm);
|
void (*exit)(struct crypto_tfm *tfm);
|
||||||
|
@ -928,13 +917,6 @@ static inline struct crypto_comp *__crypto_comp_cast(struct crypto_tfm *tfm)
|
||||||
return (struct crypto_comp *)tfm;
|
return (struct crypto_comp *)tfm;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline struct crypto_comp *crypto_comp_cast(struct crypto_tfm *tfm)
|
|
||||||
{
|
|
||||||
BUG_ON((crypto_tfm_alg_type(tfm) ^ CRYPTO_ALG_TYPE_COMPRESS) &
|
|
||||||
CRYPTO_ALG_TYPE_MASK);
|
|
||||||
return __crypto_comp_cast(tfm);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline struct crypto_comp *crypto_alloc_comp(const char *alg_name,
|
static inline struct crypto_comp *crypto_alloc_comp(const char *alg_name,
|
||||||
u32 type, u32 mask)
|
u32 type, u32 mask)
|
||||||
{
|
{
|
||||||
|
@ -969,26 +951,13 @@ static inline const char *crypto_comp_name(struct crypto_comp *tfm)
|
||||||
return crypto_tfm_alg_name(crypto_comp_tfm(tfm));
|
return crypto_tfm_alg_name(crypto_comp_tfm(tfm));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline struct compress_tfm *crypto_comp_crt(struct crypto_comp *tfm)
|
int crypto_comp_compress(struct crypto_comp *tfm,
|
||||||
{
|
const u8 *src, unsigned int slen,
|
||||||
return &crypto_comp_tfm(tfm)->crt_compress;
|
u8 *dst, unsigned int *dlen);
|
||||||
}
|
|
||||||
|
|
||||||
static inline int crypto_comp_compress(struct crypto_comp *tfm,
|
int crypto_comp_decompress(struct crypto_comp *tfm,
|
||||||
const u8 *src, unsigned int slen,
|
const u8 *src, unsigned int slen,
|
||||||
u8 *dst, unsigned int *dlen)
|
u8 *dst, unsigned int *dlen);
|
||||||
{
|
|
||||||
return crypto_comp_crt(tfm)->cot_compress(crypto_comp_tfm(tfm),
|
|
||||||
src, slen, dst, dlen);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int crypto_comp_decompress(struct crypto_comp *tfm,
|
|
||||||
const u8 *src, unsigned int slen,
|
|
||||||
u8 *dst, unsigned int *dlen)
|
|
||||||
{
|
|
||||||
return crypto_comp_crt(tfm)->cot_decompress(crypto_comp_tfm(tfm),
|
|
||||||
src, slen, dst, dlen);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* _LINUX_CRYPTO_H */
|
#endif /* _LINUX_CRYPTO_H */
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче