Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca0494c0 authored by Herbert Xu's avatar Herbert Xu
Browse files

crypto: aead - Add skcipher null for IV generators



This patch adds an skcipher null object alongside the existing
null blkcipher so that IV generators using it can switch over
to skcipher.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 1e1f0061
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -294,10 +294,15 @@ int aead_init_geniv(struct crypto_aead *aead)
	if (err)
		goto out;

	ctx->sknull = crypto_get_default_null_skcipher2();
	err = PTR_ERR(ctx->sknull);
	if (IS_ERR(ctx->sknull))
		goto out;

	ctx->null = crypto_get_default_null_skcipher();
	err = PTR_ERR(ctx->null);
	if (IS_ERR(ctx->null))
		goto out;
		goto drop_sknull;

	child = crypto_spawn_aead(aead_instance_ctx(inst));
	err = PTR_ERR(child);
@@ -315,6 +320,8 @@ int aead_init_geniv(struct crypto_aead *aead)

drop_null:
	crypto_put_default_null_skcipher();
drop_sknull:
	crypto_put_default_null_skcipher2();
	goto out;
}
EXPORT_SYMBOL_GPL(aead_init_geniv);
@@ -325,6 +332,7 @@ void aead_exit_geniv(struct crypto_aead *tfm)

	crypto_free_aead(ctx->child);
	crypto_put_default_null_skcipher();
	crypto_put_default_null_skcipher2();
}
EXPORT_SYMBOL_GPL(aead_exit_geniv);

+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ struct aead_geniv_ctx {
	spinlock_t lock;
	struct crypto_aead *child;
	struct crypto_blkcipher *null;
	struct crypto_skcipher *sknull;
	u8 salt[] __attribute__ ((aligned(__alignof__(u32))));
};