forked from Minki/linux
crypto: user - Remove crypto_lookup_aead call
As IV generators are now standalone AEAD transforms, we no longer need to use the crypto_lookup_aead call. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
aa1b6bb7d7
commit
60333f7b5d
@ -25,7 +25,6 @@
|
|||||||
#include <net/netlink.h>
|
#include <net/netlink.h>
|
||||||
#include <linux/security.h>
|
#include <linux/security.h>
|
||||||
#include <net/net_namespace.h>
|
#include <net/net_namespace.h>
|
||||||
#include <crypto/internal/aead.h>
|
|
||||||
#include <crypto/internal/skcipher.h>
|
#include <crypto/internal/skcipher.h>
|
||||||
#include <crypto/internal/rng.h>
|
#include <crypto/internal/rng.h>
|
||||||
#include <crypto/akcipher.h>
|
#include <crypto/akcipher.h>
|
||||||
@ -385,34 +384,6 @@ static struct crypto_alg *crypto_user_skcipher_alg(const char *name, u32 type,
|
|||||||
return ERR_PTR(err);
|
return ERR_PTR(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct crypto_alg *crypto_user_aead_alg(const char *name, u32 type,
|
|
||||||
u32 mask)
|
|
||||||
{
|
|
||||||
int err;
|
|
||||||
struct crypto_alg *alg;
|
|
||||||
|
|
||||||
type &= ~(CRYPTO_ALG_TYPE_MASK | CRYPTO_ALG_GENIV);
|
|
||||||
type |= CRYPTO_ALG_TYPE_AEAD;
|
|
||||||
mask &= ~(CRYPTO_ALG_TYPE_MASK | CRYPTO_ALG_GENIV);
|
|
||||||
mask |= CRYPTO_ALG_TYPE_MASK;
|
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
alg = crypto_lookup_aead(name, type, mask);
|
|
||||||
if (!IS_ERR(alg))
|
|
||||||
return alg;
|
|
||||||
|
|
||||||
err = PTR_ERR(alg);
|
|
||||||
if (err != -EAGAIN)
|
|
||||||
break;
|
|
||||||
if (signal_pending(current)) {
|
|
||||||
err = -EINTR;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ERR_PTR(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int crypto_add_alg(struct sk_buff *skb, struct nlmsghdr *nlh,
|
static int crypto_add_alg(struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||||
struct nlattr **attrs)
|
struct nlattr **attrs)
|
||||||
{
|
{
|
||||||
@ -446,9 +417,6 @@ static int crypto_add_alg(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
name = p->cru_name;
|
name = p->cru_name;
|
||||||
|
|
||||||
switch (p->cru_type & p->cru_mask & CRYPTO_ALG_TYPE_MASK) {
|
switch (p->cru_type & p->cru_mask & CRYPTO_ALG_TYPE_MASK) {
|
||||||
case CRYPTO_ALG_TYPE_AEAD:
|
|
||||||
alg = crypto_user_aead_alg(name, p->cru_type, p->cru_mask);
|
|
||||||
break;
|
|
||||||
case CRYPTO_ALG_TYPE_GIVCIPHER:
|
case CRYPTO_ALG_TYPE_GIVCIPHER:
|
||||||
case CRYPTO_ALG_TYPE_BLKCIPHER:
|
case CRYPTO_ALG_TYPE_BLKCIPHER:
|
||||||
case CRYPTO_ALG_TYPE_ABLKCIPHER:
|
case CRYPTO_ALG_TYPE_ABLKCIPHER:
|
||||||
|
Loading…
Reference in New Issue
Block a user