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 812d949..dd45672 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 f5c0749..4092c2a 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 3c6fe57..9108015 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 eb2a0a7..b4c24a3 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 b8eec51..a7195eb 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 04dd7a9..6fab69f 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 bc45cf0..9187150 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 041f1b1..3534ddb 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 68ddee8..edb7263 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 c822e62..1f94a25 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 73e8f34..bfe9ed9 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 6beab0c..55214fe 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 b5e2355..35f0656 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 6015f6b..20c1ad6 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;