Commit 534562e5 authored by Herbert Xu's avatar Herbert Xu
Browse files

crypto: aead - Add crypto_has_aead



Add the helper crypto_has_aead.  This is meant to replace the
existing use of crypto_has_alg to locate AEAD algorithms.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 02968703
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -269,6 +269,12 @@ struct crypto_aead *crypto_alloc_aead(const char *alg_name, u32 type, u32 mask)
}
EXPORT_SYMBOL_GPL(crypto_alloc_aead);

int crypto_has_aead(const char *alg_name, u32 type, u32 mask)
{
	return crypto_type_has_alg(alg_name, &crypto_aead_type, type, mask);
}
EXPORT_SYMBOL_GPL(crypto_has_aead);

static int aead_prepare_alg(struct aead_alg *alg)
{
	struct crypto_istat_aead *istat = aead_get_stat(alg);
+12 −0
Original line number Diff line number Diff line
@@ -217,6 +217,18 @@ static inline void crypto_free_aead(struct crypto_aead *tfm)
	crypto_destroy_tfm(tfm, crypto_aead_tfm(tfm));
}

/**
 * crypto_has_aead() - Search for the availability of an aead.
 * @alg_name: is the cra_name / name or cra_driver_name / driver name of the
 *	      aead
 * @type: specifies the type of the aead
 * @mask: specifies the mask for the aead
 *
 * Return: true when the aead is known to the kernel crypto API; false
 *	   otherwise
 */
int crypto_has_aead(const char *alg_name, u32 type, u32 mask);

static inline const char *crypto_aead_driver_name(struct crypto_aead *tfm)
{
	return crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm));