diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/block/cryptoloop.c | 6 | ||||
| -rw-r--r-- | drivers/md/dm-crypt.c | 7 | ||||
| -rw-r--r-- | drivers/net/wireless/airo.c | 2 |
3 files changed, 9 insertions, 6 deletions
diff --git a/drivers/block/cryptoloop.c b/drivers/block/cryptoloop.c index 5be6f998d8c5..3d4261c39f16 100644 --- a/drivers/block/cryptoloop.c +++ b/drivers/block/cryptoloop.c | |||
| @@ -57,9 +57,11 @@ cryptoloop_init(struct loop_device *lo, const struct loop_info64 *info) | |||
| 57 | mode = strsep(&cmsp, "-"); | 57 | mode = strsep(&cmsp, "-"); |
| 58 | 58 | ||
| 59 | if (mode == NULL || strcmp(mode, "cbc") == 0) | 59 | if (mode == NULL || strcmp(mode, "cbc") == 0) |
| 60 | tfm = crypto_alloc_tfm(cipher, CRYPTO_TFM_MODE_CBC); | 60 | tfm = crypto_alloc_tfm(cipher, CRYPTO_TFM_MODE_CBC | |
| 61 | CRYPTO_TFM_REQ_MAY_SLEEP); | ||
| 61 | else if (strcmp(mode, "ecb") == 0) | 62 | else if (strcmp(mode, "ecb") == 0) |
| 62 | tfm = crypto_alloc_tfm(cipher, CRYPTO_TFM_MODE_ECB); | 63 | tfm = crypto_alloc_tfm(cipher, CRYPTO_TFM_MODE_ECB | |
| 64 | CRYPTO_TFM_REQ_MAY_SLEEP); | ||
| 63 | if (tfm == NULL) | 65 | if (tfm == NULL) |
| 64 | return -EINVAL; | 66 | return -EINVAL; |
| 65 | 67 | ||
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index d0a4bab220e5..b82bc3150476 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c | |||
| @@ -144,7 +144,7 @@ static int crypt_iv_essiv_ctr(struct crypt_config *cc, struct dm_target *ti, | |||
| 144 | } | 144 | } |
| 145 | 145 | ||
| 146 | /* Hash the cipher key with the given hash algorithm */ | 146 | /* Hash the cipher key with the given hash algorithm */ |
| 147 | hash_tfm = crypto_alloc_tfm(opts, 0); | 147 | hash_tfm = crypto_alloc_tfm(opts, CRYPTO_TFM_REQ_MAY_SLEEP); |
| 148 | if (hash_tfm == NULL) { | 148 | if (hash_tfm == NULL) { |
| 149 | ti->error = PFX "Error initializing ESSIV hash"; | 149 | ti->error = PFX "Error initializing ESSIV hash"; |
| 150 | return -EINVAL; | 150 | return -EINVAL; |
| @@ -172,7 +172,8 @@ static int crypt_iv_essiv_ctr(struct crypt_config *cc, struct dm_target *ti, | |||
| 172 | 172 | ||
| 173 | /* Setup the essiv_tfm with the given salt */ | 173 | /* Setup the essiv_tfm with the given salt */ |
| 174 | essiv_tfm = crypto_alloc_tfm(crypto_tfm_alg_name(cc->tfm), | 174 | essiv_tfm = crypto_alloc_tfm(crypto_tfm_alg_name(cc->tfm), |
| 175 | CRYPTO_TFM_MODE_ECB); | 175 | CRYPTO_TFM_MODE_ECB | |
| 176 | CRYPTO_TFM_REQ_MAY_SLEEP); | ||
| 176 | if (essiv_tfm == NULL) { | 177 | if (essiv_tfm == NULL) { |
| 177 | ti->error = PFX "Error allocating crypto tfm for ESSIV"; | 178 | ti->error = PFX "Error allocating crypto tfm for ESSIV"; |
| 178 | kfree(salt); | 179 | kfree(salt); |
| @@ -587,7 +588,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
| 587 | goto bad1; | 588 | goto bad1; |
| 588 | } | 589 | } |
| 589 | 590 | ||
| 590 | tfm = crypto_alloc_tfm(cipher, crypto_flags); | 591 | tfm = crypto_alloc_tfm(cipher, crypto_flags | CRYPTO_TFM_REQ_MAY_SLEEP); |
| 591 | if (!tfm) { | 592 | if (!tfm) { |
| 592 | ti->error = PFX "Error allocating crypto tfm"; | 593 | ti->error = PFX "Error allocating crypto tfm"; |
| 593 | goto bad1; | 594 | goto bad1; |
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c index df20adcd0730..7fdb85dda4e5 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c | |||
| @@ -1301,7 +1301,7 @@ static int micsetup(struct airo_info *ai) { | |||
| 1301 | int i; | 1301 | int i; |
| 1302 | 1302 | ||
| 1303 | if (ai->tfm == NULL) | 1303 | if (ai->tfm == NULL) |
| 1304 | ai->tfm = crypto_alloc_tfm("aes", 0); | 1304 | ai->tfm = crypto_alloc_tfm("aes", CRYPTO_TFM_REQ_MAY_SLEEP); |
| 1305 | 1305 | ||
| 1306 | if (ai->tfm == NULL) { | 1306 | if (ai->tfm == NULL) { |
| 1307 | printk(KERN_ERR "airo: failed to load transform for AES\n"); | 1307 | printk(KERN_ERR "airo: failed to load transform for AES\n"); |
