]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
crypto: api - Do not clear type bits in crypto_larval_lookup
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 22 Nov 2016 12:08:21 +0000 (20:08 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 28 Nov 2016 13:23:18 +0000 (21:23 +0800)
Currently all bits not set in mask are cleared in crypto_larval_lookup.
This is unnecessary as wherever the type bits are used it is always
masked anyway.

This patch removes the clearing so that we may use bits set in the
type but not in the mask for special purposes, e.g., picking up
internal algorithms.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/api.c

index a88729ffe4bdf876aa5b27158220bd4695092115..b16ce16532845759e79ea754b3672d1fad835193 100644 (file)
@@ -211,8 +211,8 @@ struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32 mask)
        if (!name)
                return ERR_PTR(-ENOENT);
 
+       type &= ~(CRYPTO_ALG_LARVAL | CRYPTO_ALG_DEAD);
        mask &= ~(CRYPTO_ALG_LARVAL | CRYPTO_ALG_DEAD);
-       type &= mask;
 
        alg = crypto_alg_lookup(name, type, mask);
        if (!alg) {