Loading crypto/algapi.c +11 −2 Original line number Diff line number Diff line Loading @@ -377,7 +377,8 @@ void crypto_drop_spawn(struct crypto_spawn *spawn) } EXPORT_SYMBOL_GPL(crypto_drop_spawn); struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn) struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type, u32 mask) { struct crypto_alg *alg; struct crypto_alg *alg2; Loading @@ -396,11 +397,19 @@ struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn) return ERR_PTR(-EAGAIN); } tfm = ERR_PTR(-EINVAL); if (unlikely((alg->cra_flags ^ type) & mask)) goto out_put_alg; tfm = __crypto_alloc_tfm(alg); if (IS_ERR(tfm)) crypto_mod_put(alg); goto out_put_alg; return tfm; out_put_alg: crypto_mod_put(alg); return tfm; } EXPORT_SYMBOL_GPL(crypto_spawn_tfm); Loading crypto/cbc.c +5 −4 Original line number Diff line number Diff line Loading @@ -243,6 +243,7 @@ static int crypto_cbc_init_tfm(struct crypto_tfm *tfm) struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct crypto_cbc_ctx *ctx = crypto_tfm_ctx(tfm); struct crypto_cipher *cipher; switch (crypto_tfm_alg_blocksize(tfm)) { case 8: Loading @@ -260,11 +261,11 @@ static int crypto_cbc_init_tfm(struct crypto_tfm *tfm) ctx->xor = xor_quad; } tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); cipher = crypto_spawn_cipher(spawn); if (IS_ERR(cipher)) return PTR_ERR(cipher); ctx->child = crypto_cipher_cast(tfm); ctx->child = cipher; return 0; } Loading crypto/ecb.c +5 −4 Original line number Diff line number Diff line Loading @@ -99,12 +99,13 @@ static int crypto_ecb_init_tfm(struct crypto_tfm *tfm) struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct crypto_ecb_ctx *ctx = crypto_tfm_ctx(tfm); struct crypto_cipher *cipher; tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); cipher = crypto_spawn_cipher(spawn); if (IS_ERR(cipher)) return PTR_ERR(cipher); ctx->child = crypto_cipher_cast(tfm); ctx->child = cipher; return 0; } Loading crypto/hmac.c +5 −4 Original line number Diff line number Diff line Loading @@ -172,15 +172,16 @@ static int hmac_digest(struct hash_desc *pdesc, struct scatterlist *sg, static int hmac_init_tfm(struct crypto_tfm *tfm) { struct crypto_hash *hash; struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct hmac_ctx *ctx = hmac_ctx(__crypto_hash_cast(tfm)); tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); hash = crypto_spawn_hash(spawn); if (IS_ERR(hash)) return PTR_ERR(hash); ctx->child = crypto_hash_cast(tfm); ctx->child = hash; return 0; } Loading crypto/lrw.c +6 −5 Original line number Diff line number Diff line Loading @@ -201,21 +201,22 @@ static int decrypt(struct blkcipher_desc *desc, struct scatterlist *dst, static int init_tfm(struct crypto_tfm *tfm) { struct crypto_cipher *cipher; struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct priv *ctx = crypto_tfm_ctx(tfm); u32 *flags = &tfm->crt_flags; tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); cipher = crypto_spawn_cipher(spawn); if (IS_ERR(cipher)) return PTR_ERR(cipher); if (crypto_tfm_alg_blocksize(tfm) != 16) { if (crypto_cipher_blocksize(cipher) != 16) { *flags |= CRYPTO_TFM_RES_BAD_BLOCK_LEN; return -EINVAL; } ctx->child = crypto_cipher_cast(tfm); ctx->child = cipher; return 0; } Loading Loading
crypto/algapi.c +11 −2 Original line number Diff line number Diff line Loading @@ -377,7 +377,8 @@ void crypto_drop_spawn(struct crypto_spawn *spawn) } EXPORT_SYMBOL_GPL(crypto_drop_spawn); struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn) struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type, u32 mask) { struct crypto_alg *alg; struct crypto_alg *alg2; Loading @@ -396,11 +397,19 @@ struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn) return ERR_PTR(-EAGAIN); } tfm = ERR_PTR(-EINVAL); if (unlikely((alg->cra_flags ^ type) & mask)) goto out_put_alg; tfm = __crypto_alloc_tfm(alg); if (IS_ERR(tfm)) crypto_mod_put(alg); goto out_put_alg; return tfm; out_put_alg: crypto_mod_put(alg); return tfm; } EXPORT_SYMBOL_GPL(crypto_spawn_tfm); Loading
crypto/cbc.c +5 −4 Original line number Diff line number Diff line Loading @@ -243,6 +243,7 @@ static int crypto_cbc_init_tfm(struct crypto_tfm *tfm) struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct crypto_cbc_ctx *ctx = crypto_tfm_ctx(tfm); struct crypto_cipher *cipher; switch (crypto_tfm_alg_blocksize(tfm)) { case 8: Loading @@ -260,11 +261,11 @@ static int crypto_cbc_init_tfm(struct crypto_tfm *tfm) ctx->xor = xor_quad; } tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); cipher = crypto_spawn_cipher(spawn); if (IS_ERR(cipher)) return PTR_ERR(cipher); ctx->child = crypto_cipher_cast(tfm); ctx->child = cipher; return 0; } Loading
crypto/ecb.c +5 −4 Original line number Diff line number Diff line Loading @@ -99,12 +99,13 @@ static int crypto_ecb_init_tfm(struct crypto_tfm *tfm) struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct crypto_ecb_ctx *ctx = crypto_tfm_ctx(tfm); struct crypto_cipher *cipher; tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); cipher = crypto_spawn_cipher(spawn); if (IS_ERR(cipher)) return PTR_ERR(cipher); ctx->child = crypto_cipher_cast(tfm); ctx->child = cipher; return 0; } Loading
crypto/hmac.c +5 −4 Original line number Diff line number Diff line Loading @@ -172,15 +172,16 @@ static int hmac_digest(struct hash_desc *pdesc, struct scatterlist *sg, static int hmac_init_tfm(struct crypto_tfm *tfm) { struct crypto_hash *hash; struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct hmac_ctx *ctx = hmac_ctx(__crypto_hash_cast(tfm)); tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); hash = crypto_spawn_hash(spawn); if (IS_ERR(hash)) return PTR_ERR(hash); ctx->child = crypto_hash_cast(tfm); ctx->child = hash; return 0; } Loading
crypto/lrw.c +6 −5 Original line number Diff line number Diff line Loading @@ -201,21 +201,22 @@ static int decrypt(struct blkcipher_desc *desc, struct scatterlist *dst, static int init_tfm(struct crypto_tfm *tfm) { struct crypto_cipher *cipher; struct crypto_instance *inst = (void *)tfm->__crt_alg; struct crypto_spawn *spawn = crypto_instance_ctx(inst); struct priv *ctx = crypto_tfm_ctx(tfm); u32 *flags = &tfm->crt_flags; tfm = crypto_spawn_tfm(spawn); if (IS_ERR(tfm)) return PTR_ERR(tfm); cipher = crypto_spawn_cipher(spawn); if (IS_ERR(cipher)) return PTR_ERR(cipher); if (crypto_tfm_alg_blocksize(tfm) != 16) { if (crypto_cipher_blocksize(cipher) != 16) { *flags |= CRYPTO_TFM_RES_BAD_BLOCK_LEN; return -EINVAL; } ctx->child = crypto_cipher_cast(tfm); ctx->child = cipher; return 0; } Loading