]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations
authorEric Biggers <ebiggers@google.com>
Wed, 14 Nov 2018 20:19:39 +0000 (12:19 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 20 Nov 2018 06:26:55 +0000 (14:26 +0800)
'cipher' algorithms (single block ciphers) are always synchronous, so
passing CRYPTO_ALG_ASYNC in the mask to crypto_alloc_cipher() has no
effect.  Many users therefore already don't pass it, but some still do.
This inconsistency can cause confusion, especially since the way the
'mask' argument works is somewhat counterintuitive.

Thus, just remove the unneeded CRYPTO_ALG_ASYNC flags.

This patch shouldn't change any actual behavior.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
14 files changed:
arch/s390/crypto/aes_s390.c
drivers/crypto/amcc/crypto4xx_alg.c
drivers/crypto/ccp/ccp-crypto-aes-cmac.c
drivers/crypto/geode-aes.c
drivers/md/dm-crypt.c
drivers/net/wireless/cisco/airo.c
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
drivers/usb/wusbcore/crypto.c
net/bluetooth/smp.c
net/mac80211/wep.c
net/wireless/lib80211_crypt_ccmp.c
net/wireless/lib80211_crypt_tkip.c
net/wireless/lib80211_crypt_wep.c

index 812d9498d97be5776aeaee0f0c5831cadf40d693..dd456725189f23be3b02e330d7494ab58ba26fe2 100644 (file)
@@ -137,7 +137,7 @@ static int fallback_init_cip(struct crypto_tfm *tfm)
        struct s390_aes_ctx *sctx = crypto_tfm_ctx(tfm);
 
        sctx->fallback.cip = crypto_alloc_cipher(name, 0,
-                       CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
+                                                CRYPTO_ALG_NEED_FALLBACK);
 
        if (IS_ERR(sctx->fallback.cip)) {
                pr_err("Allocating AES fallback algorithm %s failed\n",
index f5c07498ea4f08541b47040f3356bb00cfbc35ff..4092c2aad8e2119038a426d899c055f506240e7f 100644 (file)
@@ -520,8 +520,7 @@ static int crypto4xx_compute_gcm_hash_key_sw(__le32 *hash_start, const u8 *key,
        uint8_t src[16] = { 0 };
        int rc = 0;
 
-       aes_tfm = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC |
-                                     CRYPTO_ALG_NEED_FALLBACK);
+       aes_tfm = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_NEED_FALLBACK);
        if (IS_ERR(aes_tfm)) {
                rc = PTR_ERR(aes_tfm);
                pr_warn("could not load aes cipher driver: %d\n", rc);
index 3c6fe57f91f8c0bb7cf21ce4d026c20ac50377d4..9108015e56cc55747468d0a67a29da7cb3d41a71 100644 (file)
@@ -346,9 +346,7 @@ static int ccp_aes_cmac_cra_init(struct crypto_tfm *tfm)
 
        crypto_ahash_set_reqsize(ahash, sizeof(struct ccp_aes_cmac_req_ctx));
 
-       cipher_tfm = crypto_alloc_cipher("aes", 0,
-                                        CRYPTO_ALG_ASYNC |
-                                        CRYPTO_ALG_NEED_FALLBACK);
+       cipher_tfm = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_NEED_FALLBACK);
        if (IS_ERR(cipher_tfm)) {
                pr_warn("could not load aes cipher driver\n");
                return PTR_ERR(cipher_tfm);
index eb2a0a73cbed17cd0c9bdc2f8ab847c4dcf4b9d3..b4c24a35b3d08a0b5b9c15c9effbea1e17d9c277 100644 (file)
@@ -261,7 +261,7 @@ static int fallback_init_cip(struct crypto_tfm *tfm)
        struct geode_aes_op *op = crypto_tfm_ctx(tfm);
 
        op->fallback.cip = crypto_alloc_cipher(name, 0,
-                               CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
+                                              CRYPTO_ALG_NEED_FALLBACK);
 
        if (IS_ERR(op->fallback.cip)) {
                printk(KERN_ERR "Error allocating fallback algo %s\n", name);
index b8eec515a003cfc592d450eb8f78f1bec1898be7..a7195eb5b8d8949b87cfcedc5daf7c944abce5f2 100644 (file)
@@ -377,7 +377,7 @@ static struct crypto_cipher *alloc_essiv_cipher(struct crypt_config *cc,
        int err;
 
        /* Setup the essiv_tfm with the given salt */
-       essiv_tfm = crypto_alloc_cipher(cc->cipher, 0, CRYPTO_ALG_ASYNC);
+       essiv_tfm = crypto_alloc_cipher(cc->cipher, 0, 0);
        if (IS_ERR(essiv_tfm)) {
                ti->error = "Error allocating crypto tfm for ESSIV";
                return essiv_tfm;
index 04dd7a936593826928cf11559b3b362d0ed43383..6fab69fe6c92c91c3e898328259cf35adf39a0f2 100644 (file)
@@ -1359,7 +1359,7 @@ static int micsetup(struct airo_info *ai) {
        int i;
 
        if (ai->tfm == NULL)
-               ai->tfm = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+               ai->tfm = crypto_alloc_cipher("aes", 0, 0);
 
         if (IS_ERR(ai->tfm)) {
                 airo_print_err(ai->dev->name, "failed to load transform for AES");
index bc45cf098b04e26a5c8ba425d255f4381a11c2c0..91871503364d4c0c297f198d4409eab9c06210e2 100644 (file)
@@ -67,7 +67,7 @@ static void *rtllib_ccmp_init(int key_idx)
                goto fail;
        priv->key_idx = key_idx;
 
-       priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+       priv->tfm = (void *)crypto_alloc_cipher("aes", 0, 0);
        if (IS_ERR(priv->tfm)) {
                pr_debug("Could not allocate crypto API aes\n");
                priv->tfm = NULL;
index 041f1b123888bfa790d02a581c04c26c4975ee3f..3534ddb900d1e5146270bab8cd23caeb17ce0746 100644 (file)
@@ -71,7 +71,7 @@ static void *ieee80211_ccmp_init(int key_idx)
                goto fail;
        priv->key_idx = key_idx;
 
-       priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+       priv->tfm = (void *)crypto_alloc_cipher("aes", 0, 0);
        if (IS_ERR(priv->tfm)) {
                pr_debug("ieee80211_crypt_ccmp: could not allocate crypto API aes\n");
                priv->tfm = NULL;
index 68ddee86a8861cccbf033a995e90ca150edcfb66..edb7263bff403c05e02582837c45e4c30a32a803 100644 (file)
@@ -316,7 +316,7 @@ ssize_t wusb_prf(void *out, size_t out_size,
                goto error_setkey_cbc;
        }
 
-       tfm_aes = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+       tfm_aes = crypto_alloc_cipher("aes", 0, 0);
        if (IS_ERR(tfm_aes)) {
                result = PTR_ERR(tfm_aes);
                printk(KERN_ERR "E: can't load AES: %d\n", (int)result);
index c822e626761bd0ecb51e1b1de1f8dfa5b98b3568..1f94a25beef69b9bdd48a7688d2e372e9408fd73 100644 (file)
@@ -1390,7 +1390,7 @@ static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)
        if (!smp)
                return NULL;
 
-       smp->tfm_aes = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+       smp->tfm_aes = crypto_alloc_cipher("aes", 0, 0);
        if (IS_ERR(smp->tfm_aes)) {
                BT_ERR("Unable to create AES crypto context");
                goto zfree_smp;
@@ -3233,7 +3233,7 @@ static struct l2cap_chan *smp_add_cid(struct hci_dev *hdev, u16 cid)
        if (!smp)
                return ERR_PTR(-ENOMEM);
 
-       tfm_aes = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+       tfm_aes = crypto_alloc_cipher("aes", 0, 0);
        if (IS_ERR(tfm_aes)) {
                BT_ERR("Unable to create AES crypto context");
                kzfree(smp);
@@ -3906,7 +3906,7 @@ int __init bt_selftest_smp(void)
        struct crypto_kpp *tfm_ecdh;
        int err;
 
-       tfm_aes = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+       tfm_aes = crypto_alloc_cipher("aes", 0, 0);
        if (IS_ERR(tfm_aes)) {
                BT_ERR("Unable to create AES crypto context");
                return PTR_ERR(tfm_aes);
index 73e8f347802ecadf5efb11fffa7b13d32a5705c1..bfe9ed9f4c48d6f4e52faf6f274474ebda2ac9b6 100644 (file)
@@ -30,13 +30,13 @@ int ieee80211_wep_init(struct ieee80211_local *local)
        /* start WEP IV from a random value */
        get_random_bytes(&local->wep_iv, IEEE80211_WEP_IV_LEN);
 
-       local->wep_tx_tfm = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC);
+       local->wep_tx_tfm = crypto_alloc_cipher("arc4", 0, 0);
        if (IS_ERR(local->wep_tx_tfm)) {
                local->wep_rx_tfm = ERR_PTR(-EINVAL);
                return PTR_ERR(local->wep_tx_tfm);
        }
 
-       local->wep_rx_tfm = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC);
+       local->wep_rx_tfm = crypto_alloc_cipher("arc4", 0, 0);
        if (IS_ERR(local->wep_rx_tfm)) {
                crypto_free_cipher(local->wep_tx_tfm);
                local->wep_tx_tfm = ERR_PTR(-EINVAL);
index 6beab0cfcb99e4fece6f8cbf9ca10f3c7c0e61eb..55214fe925b2accef15113863c273b6f0c8df5e7 100644 (file)
@@ -75,7 +75,7 @@ static void *lib80211_ccmp_init(int key_idx)
                goto fail;
        priv->key_idx = key_idx;
 
-       priv->tfm = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
+       priv->tfm = crypto_alloc_cipher("aes", 0, 0);
        if (IS_ERR(priv->tfm)) {
                priv->tfm = NULL;
                goto fail;
index b5e235573c8a0777053e946bbcfde01f65ec7bcf..35f06563207ddd9a1c67ca0e48fcc01f40eb9f19 100644 (file)
@@ -99,7 +99,7 @@ static void *lib80211_tkip_init(int key_idx)
 
        priv->key_idx = key_idx;
 
-       priv->tx_tfm_arc4 = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC);
+       priv->tx_tfm_arc4 = crypto_alloc_cipher("arc4", 0, 0);
        if (IS_ERR(priv->tx_tfm_arc4)) {
                priv->tx_tfm_arc4 = NULL;
                goto fail;
@@ -111,7 +111,7 @@ static void *lib80211_tkip_init(int key_idx)
                goto fail;
        }
 
-       priv->rx_tfm_arc4 = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC);
+       priv->rx_tfm_arc4 = crypto_alloc_cipher("arc4", 0, 0);
        if (IS_ERR(priv->rx_tfm_arc4)) {
                priv->rx_tfm_arc4 = NULL;
                goto fail;
index 6015f6b542a678bf41b7929a6bc3b55815c691b9..20c1ad63ad4467770e250f658ba149083022affa 100644 (file)
@@ -48,13 +48,13 @@ static void *lib80211_wep_init(int keyidx)
                goto fail;
        priv->key_idx = keyidx;
 
-       priv->tx_tfm = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC);
+       priv->tx_tfm = crypto_alloc_cipher("arc4", 0, 0);
        if (IS_ERR(priv->tx_tfm)) {
                priv->tx_tfm = NULL;
                goto fail;
        }
 
-       priv->rx_tfm = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC);
+       priv->rx_tfm = crypto_alloc_cipher("arc4", 0, 0);
        if (IS_ERR(priv->rx_tfm)) {
                priv->rx_tfm = NULL;
                goto fail;