diff options
author | Eric Biggers <ebiggers@google.com> | 2019-04-14 20:37:09 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2019-04-25 03:38:12 -0400 |
commit | 877b5691f27a1aec0d9b53095a323e45c30069e2 (patch) | |
tree | 59eba93e8d253fb0e12a0a2040de99e96e873933 | |
parent | 75f2222832e0fecba7a45ca6ac07ea895ea1e046 (diff) |
crypto: shash - remove shash_desc::flags
The flags field in 'struct shash_desc' never actually does anything.
The only ostensibly supported flag is CRYPTO_TFM_REQ_MAY_SLEEP.
However, no shash algorithm ever sleeps, making this flag a no-op.
With this being the case, inevitably some users who can't sleep wrongly
pass MAY_SLEEP. These would all need to be fixed if any shash algorithm
actually started sleeping. For example, the shash_ahash_*() functions,
which wrap a shash algorithm with the ahash API, pass through MAY_SLEEP
from the ahash API to the shash API. However, the shash functions are
called under kmap_atomic(), so actually they're assumed to never sleep.
Even if it turns out that some users do need preemption points while
hashing large buffers, we could easily provide a helper function
crypto_shash_update_large() which divides the data into smaller chunks
and calls crypto_shash_update() and cond_resched() for each chunk. It's
not necessary to have a flag in 'struct shash_desc', nor is it necessary
to make individual shash algorithms aware of this at all.
Therefore, remove shash_desc::flags, and document that the
crypto_shash_*() functions can be called from any context.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
66 files changed, 8 insertions, 113 deletions
diff --git a/Documentation/crypto/api-samples.rst b/Documentation/crypto/api-samples.rst index 0f6ca8b7261e..f14afaaf2f32 100644 --- a/Documentation/crypto/api-samples.rst +++ b/Documentation/crypto/api-samples.rst | |||
@@ -133,7 +133,6 @@ Code Example For Use of Operational State Memory With SHASH | |||
133 | if (!sdesc) | 133 | if (!sdesc) |
134 | return ERR_PTR(-ENOMEM); | 134 | return ERR_PTR(-ENOMEM); |
135 | sdesc->shash.tfm = alg; | 135 | sdesc->shash.tfm = alg; |
136 | sdesc->shash.flags = 0x0; | ||
137 | return sdesc; | 136 | return sdesc; |
138 | } | 137 | } |
139 | 138 | ||
diff --git a/arch/arm/crypto/ghash-ce-glue.c b/arch/arm/crypto/ghash-ce-glue.c index 60123e9ea9d8..39d1ccec1aab 100644 --- a/arch/arm/crypto/ghash-ce-glue.c +++ b/arch/arm/crypto/ghash-ce-glue.c | |||
@@ -186,7 +186,6 @@ static int ghash_async_init(struct ahash_request *req) | |||
186 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); | 186 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); |
187 | 187 | ||
188 | desc->tfm = child; | 188 | desc->tfm = child; |
189 | desc->flags = req->base.flags; | ||
190 | return crypto_shash_init(desc); | 189 | return crypto_shash_init(desc); |
191 | } | 190 | } |
192 | 191 | ||
@@ -243,7 +242,6 @@ static int ghash_async_digest(struct ahash_request *req) | |||
243 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); | 242 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); |
244 | 243 | ||
245 | desc->tfm = child; | 244 | desc->tfm = child; |
246 | desc->flags = req->base.flags; | ||
247 | return shash_ahash_digest(req, desc); | 245 | return shash_ahash_digest(req, desc); |
248 | } | 246 | } |
249 | } | 247 | } |
@@ -256,7 +254,6 @@ static int ghash_async_import(struct ahash_request *req, const void *in) | |||
256 | struct shash_desc *desc = cryptd_shash_desc(cryptd_req); | 254 | struct shash_desc *desc = cryptd_shash_desc(cryptd_req); |
257 | 255 | ||
258 | desc->tfm = cryptd_ahash_child(ctx->cryptd_tfm); | 256 | desc->tfm = cryptd_ahash_child(ctx->cryptd_tfm); |
259 | desc->flags = req->base.flags; | ||
260 | 257 | ||
261 | return crypto_shash_import(desc, in); | 258 | return crypto_shash_import(desc, in); |
262 | } | 259 | } |
diff --git a/arch/x86/crypto/ghash-clmulni-intel_glue.c b/arch/x86/crypto/ghash-clmulni-intel_glue.c index 4099a0ae17dd..e3f3e6fd9d65 100644 --- a/arch/x86/crypto/ghash-clmulni-intel_glue.c +++ b/arch/x86/crypto/ghash-clmulni-intel_glue.c | |||
@@ -172,7 +172,6 @@ static int ghash_async_init(struct ahash_request *req) | |||
172 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); | 172 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); |
173 | 173 | ||
174 | desc->tfm = child; | 174 | desc->tfm = child; |
175 | desc->flags = req->base.flags; | ||
176 | return crypto_shash_init(desc); | 175 | return crypto_shash_init(desc); |
177 | } | 176 | } |
178 | 177 | ||
@@ -252,7 +251,6 @@ static int ghash_async_digest(struct ahash_request *req) | |||
252 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); | 251 | struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); |
253 | 252 | ||
254 | desc->tfm = child; | 253 | desc->tfm = child; |
255 | desc->flags = req->base.flags; | ||
256 | return shash_ahash_digest(req, desc); | 254 | return shash_ahash_digest(req, desc); |
257 | } | 255 | } |
258 | } | 256 | } |
diff --git a/arch/x86/power/hibernate.c b/arch/x86/power/hibernate.c index bcddf09b5aa3..4845b8c7be7f 100644 --- a/arch/x86/power/hibernate.c +++ b/arch/x86/power/hibernate.c | |||
@@ -90,7 +90,6 @@ static int get_e820_md5(struct e820_table *table, void *buf) | |||
90 | } | 90 | } |
91 | 91 | ||
92 | desc->tfm = tfm; | 92 | desc->tfm = tfm; |
93 | desc->flags = 0; | ||
94 | 93 | ||
95 | size = offsetof(struct e820_table, entries) + | 94 | size = offsetof(struct e820_table, entries) + |
96 | sizeof(struct e820_entry) * table->nr_entries; | 95 | sizeof(struct e820_entry) * table->nr_entries; |
diff --git a/crypto/adiantum.c b/crypto/adiantum.c index e6de50f669aa..395a3ddd3707 100644 --- a/crypto/adiantum.c +++ b/crypto/adiantum.c | |||
@@ -265,7 +265,6 @@ static int adiantum_hash_message(struct skcipher_request *req, | |||
265 | int err; | 265 | int err; |
266 | 266 | ||
267 | hash_desc->tfm = tctx->hash; | 267 | hash_desc->tfm = tctx->hash; |
268 | hash_desc->flags = 0; | ||
269 | 268 | ||
270 | err = crypto_shash_init(hash_desc); | 269 | err = crypto_shash_init(hash_desc); |
271 | if (err) | 270 | if (err) |
diff --git a/crypto/asymmetric_keys/pkcs7_verify.c b/crypto/asymmetric_keys/pkcs7_verify.c index 97c77f66b20d..f7b0980bf02d 100644 --- a/crypto/asymmetric_keys/pkcs7_verify.c +++ b/crypto/asymmetric_keys/pkcs7_verify.c | |||
@@ -56,7 +56,6 @@ static int pkcs7_digest(struct pkcs7_message *pkcs7, | |||
56 | goto error_no_desc; | 56 | goto error_no_desc; |
57 | 57 | ||
58 | desc->tfm = tfm; | 58 | desc->tfm = tfm; |
59 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
60 | 59 | ||
61 | /* Digest the message [RFC2315 9.3] */ | 60 | /* Digest the message [RFC2315 9.3] */ |
62 | ret = crypto_shash_digest(desc, pkcs7->data, pkcs7->data_len, | 61 | ret = crypto_shash_digest(desc, pkcs7->data, pkcs7->data_len, |
diff --git a/crypto/asymmetric_keys/verify_pefile.c b/crypto/asymmetric_keys/verify_pefile.c index d178650fd524..f8e4a932bcfb 100644 --- a/crypto/asymmetric_keys/verify_pefile.c +++ b/crypto/asymmetric_keys/verify_pefile.c | |||
@@ -354,7 +354,6 @@ static int pefile_digest_pe(const void *pebuf, unsigned int pelen, | |||
354 | goto error_no_desc; | 354 | goto error_no_desc; |
355 | 355 | ||
356 | desc->tfm = tfm; | 356 | desc->tfm = tfm; |
357 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
358 | ret = crypto_shash_init(desc); | 357 | ret = crypto_shash_init(desc); |
359 | if (ret < 0) | 358 | if (ret < 0) |
360 | goto error; | 359 | goto error; |
diff --git a/crypto/asymmetric_keys/x509_public_key.c b/crypto/asymmetric_keys/x509_public_key.c index 9338b4558cdc..bd96683d8cde 100644 --- a/crypto/asymmetric_keys/x509_public_key.c +++ b/crypto/asymmetric_keys/x509_public_key.c | |||
@@ -77,7 +77,6 @@ int x509_get_sig_params(struct x509_certificate *cert) | |||
77 | goto error; | 77 | goto error; |
78 | 78 | ||
79 | desc->tfm = tfm; | 79 | desc->tfm = tfm; |
80 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
81 | 80 | ||
82 | ret = crypto_shash_digest(desc, cert->tbs, cert->tbs_size, sig->digest); | 81 | ret = crypto_shash_digest(desc, cert->tbs, cert->tbs_size, sig->digest); |
83 | if (ret < 0) | 82 | if (ret < 0) |
diff --git a/crypto/cryptd.c b/crypto/cryptd.c index 42533cf80acc..b3bb99390ae7 100644 --- a/crypto/cryptd.c +++ b/crypto/cryptd.c | |||
@@ -545,7 +545,6 @@ static void cryptd_hash_init(struct crypto_async_request *req_async, int err) | |||
545 | goto out; | 545 | goto out; |
546 | 546 | ||
547 | desc->tfm = child; | 547 | desc->tfm = child; |
548 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
549 | 548 | ||
550 | err = crypto_shash_init(desc); | 549 | err = crypto_shash_init(desc); |
551 | 550 | ||
@@ -637,7 +636,6 @@ static void cryptd_hash_digest(struct crypto_async_request *req_async, int err) | |||
637 | goto out; | 636 | goto out; |
638 | 637 | ||
639 | desc->tfm = child; | 638 | desc->tfm = child; |
640 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
641 | 639 | ||
642 | err = shash_ahash_digest(req, desc); | 640 | err = shash_ahash_digest(req, desc); |
643 | 641 | ||
@@ -666,7 +664,6 @@ static int cryptd_hash_import(struct ahash_request *req, const void *in) | |||
666 | struct shash_desc *desc = cryptd_shash_desc(req); | 664 | struct shash_desc *desc = cryptd_shash_desc(req); |
667 | 665 | ||
668 | desc->tfm = ctx->child; | 666 | desc->tfm = ctx->child; |
669 | desc->flags = req->base.flags; | ||
670 | 667 | ||
671 | return crypto_shash_import(desc, in); | 668 | return crypto_shash_import(desc, in); |
672 | } | 669 | } |
diff --git a/crypto/drbg.c b/crypto/drbg.c index 710b3046a4df..2a5b16bb000c 100644 --- a/crypto/drbg.c +++ b/crypto/drbg.c | |||
@@ -1587,7 +1587,6 @@ static int drbg_init_hash_kernel(struct drbg_state *drbg) | |||
1587 | } | 1587 | } |
1588 | 1588 | ||
1589 | sdesc->shash.tfm = tfm; | 1589 | sdesc->shash.tfm = tfm; |
1590 | sdesc->shash.flags = 0; | ||
1591 | drbg->priv_data = sdesc; | 1590 | drbg->priv_data = sdesc; |
1592 | 1591 | ||
1593 | return crypto_shash_alignmask(tfm); | 1592 | return crypto_shash_alignmask(tfm); |
diff --git a/crypto/hmac.c b/crypto/hmac.c index 4ceb3f1f0eb8..a68c1266121f 100644 --- a/crypto/hmac.c +++ b/crypto/hmac.c | |||
@@ -57,8 +57,6 @@ static int hmac_setkey(struct crypto_shash *parent, | |||
57 | unsigned int i; | 57 | unsigned int i; |
58 | 58 | ||
59 | shash->tfm = hash; | 59 | shash->tfm = hash; |
60 | shash->flags = crypto_shash_get_flags(parent) | ||
61 | & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
62 | 60 | ||
63 | if (keylen > bs) { | 61 | if (keylen > bs) { |
64 | int err; | 62 | int err; |
@@ -91,8 +89,6 @@ static int hmac_export(struct shash_desc *pdesc, void *out) | |||
91 | { | 89 | { |
92 | struct shash_desc *desc = shash_desc_ctx(pdesc); | 90 | struct shash_desc *desc = shash_desc_ctx(pdesc); |
93 | 91 | ||
94 | desc->flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
95 | |||
96 | return crypto_shash_export(desc, out); | 92 | return crypto_shash_export(desc, out); |
97 | } | 93 | } |
98 | 94 | ||
@@ -102,7 +98,6 @@ static int hmac_import(struct shash_desc *pdesc, const void *in) | |||
102 | struct hmac_ctx *ctx = hmac_ctx(pdesc->tfm); | 98 | struct hmac_ctx *ctx = hmac_ctx(pdesc->tfm); |
103 | 99 | ||
104 | desc->tfm = ctx->hash; | 100 | desc->tfm = ctx->hash; |
105 | desc->flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
106 | 101 | ||
107 | return crypto_shash_import(desc, in); | 102 | return crypto_shash_import(desc, in); |
108 | } | 103 | } |
@@ -117,8 +112,6 @@ static int hmac_update(struct shash_desc *pdesc, | |||
117 | { | 112 | { |
118 | struct shash_desc *desc = shash_desc_ctx(pdesc); | 113 | struct shash_desc *desc = shash_desc_ctx(pdesc); |
119 | 114 | ||
120 | desc->flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
121 | |||
122 | return crypto_shash_update(desc, data, nbytes); | 115 | return crypto_shash_update(desc, data, nbytes); |
123 | } | 116 | } |
124 | 117 | ||
@@ -130,8 +123,6 @@ static int hmac_final(struct shash_desc *pdesc, u8 *out) | |||
130 | char *opad = crypto_shash_ctx_aligned(parent) + ss; | 123 | char *opad = crypto_shash_ctx_aligned(parent) + ss; |
131 | struct shash_desc *desc = shash_desc_ctx(pdesc); | 124 | struct shash_desc *desc = shash_desc_ctx(pdesc); |
132 | 125 | ||
133 | desc->flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
134 | |||
135 | return crypto_shash_final(desc, out) ?: | 126 | return crypto_shash_final(desc, out) ?: |
136 | crypto_shash_import(desc, opad) ?: | 127 | crypto_shash_import(desc, opad) ?: |
137 | crypto_shash_finup(desc, out, ds, out); | 128 | crypto_shash_finup(desc, out, ds, out); |
@@ -147,8 +138,6 @@ static int hmac_finup(struct shash_desc *pdesc, const u8 *data, | |||
147 | char *opad = crypto_shash_ctx_aligned(parent) + ss; | 138 | char *opad = crypto_shash_ctx_aligned(parent) + ss; |
148 | struct shash_desc *desc = shash_desc_ctx(pdesc); | 139 | struct shash_desc *desc = shash_desc_ctx(pdesc); |
149 | 140 | ||
150 | desc->flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
151 | |||
152 | return crypto_shash_finup(desc, data, nbytes, out) ?: | 141 | return crypto_shash_finup(desc, data, nbytes, out) ?: |
153 | crypto_shash_import(desc, opad) ?: | 142 | crypto_shash_import(desc, opad) ?: |
154 | crypto_shash_finup(desc, out, ds, out); | 143 | crypto_shash_finup(desc, out, ds, out); |
diff --git a/crypto/shash.c b/crypto/shash.c index 599468478f7b..e55c1f558bc3 100644 --- a/crypto/shash.c +++ b/crypto/shash.c | |||
@@ -238,7 +238,6 @@ static int shash_async_init(struct ahash_request *req) | |||
238 | struct shash_desc *desc = ahash_request_ctx(req); | 238 | struct shash_desc *desc = ahash_request_ctx(req); |
239 | 239 | ||
240 | desc->tfm = *ctx; | 240 | desc->tfm = *ctx; |
241 | desc->flags = req->base.flags; | ||
242 | 241 | ||
243 | return crypto_shash_init(desc); | 242 | return crypto_shash_init(desc); |
244 | } | 243 | } |
@@ -293,7 +292,6 @@ static int shash_async_finup(struct ahash_request *req) | |||
293 | struct shash_desc *desc = ahash_request_ctx(req); | 292 | struct shash_desc *desc = ahash_request_ctx(req); |
294 | 293 | ||
295 | desc->tfm = *ctx; | 294 | desc->tfm = *ctx; |
296 | desc->flags = req->base.flags; | ||
297 | 295 | ||
298 | return shash_ahash_finup(req, desc); | 296 | return shash_ahash_finup(req, desc); |
299 | } | 297 | } |
@@ -328,7 +326,6 @@ static int shash_async_digest(struct ahash_request *req) | |||
328 | struct shash_desc *desc = ahash_request_ctx(req); | 326 | struct shash_desc *desc = ahash_request_ctx(req); |
329 | 327 | ||
330 | desc->tfm = *ctx; | 328 | desc->tfm = *ctx; |
331 | desc->flags = req->base.flags; | ||
332 | 329 | ||
333 | return shash_ahash_digest(req, desc); | 330 | return shash_ahash_digest(req, desc); |
334 | } | 331 | } |
@@ -344,7 +341,6 @@ static int shash_async_import(struct ahash_request *req, const void *in) | |||
344 | struct shash_desc *desc = ahash_request_ctx(req); | 341 | struct shash_desc *desc = ahash_request_ctx(req); |
345 | 342 | ||
346 | desc->tfm = *ctx; | 343 | desc->tfm = *ctx; |
347 | desc->flags = req->base.flags; | ||
348 | 344 | ||
349 | return crypto_shash_import(desc, in); | 345 | return crypto_shash_import(desc, in); |
350 | } | 346 | } |
diff --git a/crypto/testmgr.c b/crypto/testmgr.c index 87abfd1ce232..2bd89a65e9e7 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c | |||
@@ -1328,7 +1328,6 @@ static void generate_random_hash_testvec(struct crypto_shash *tfm, | |||
1328 | 1328 | ||
1329 | /* Digest */ | 1329 | /* Digest */ |
1330 | desc->tfm = tfm; | 1330 | desc->tfm = tfm; |
1331 | desc->flags = 0; | ||
1332 | vec->digest_error = crypto_shash_digest(desc, vec->plaintext, | 1331 | vec->digest_error = crypto_shash_digest(desc, vec->plaintext, |
1333 | vec->psize, (u8 *)vec->digest); | 1332 | vec->psize, (u8 *)vec->digest); |
1334 | done: | 1333 | done: |
@@ -3027,7 +3026,6 @@ static int alg_test_crc32c(const struct alg_test_desc *desc, | |||
3027 | u32 *ctx = (u32 *)shash_desc_ctx(shash); | 3026 | u32 *ctx = (u32 *)shash_desc_ctx(shash); |
3028 | 3027 | ||
3029 | shash->tfm = tfm; | 3028 | shash->tfm = tfm; |
3030 | shash->flags = 0; | ||
3031 | 3029 | ||
3032 | *ctx = 420553207; | 3030 | *ctx = 420553207; |
3033 | err = crypto_shash_final(shash, (u8 *)&val); | 3031 | err = crypto_shash_final(shash, (u8 *)&val); |
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index c7ad88d91a09..843a9b9b3d74 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c | |||
@@ -5443,7 +5443,6 @@ static int drbd_do_auth(struct drbd_connection *connection) | |||
5443 | rcu_read_unlock(); | 5443 | rcu_read_unlock(); |
5444 | 5444 | ||
5445 | desc->tfm = connection->cram_hmac_tfm; | 5445 | desc->tfm = connection->cram_hmac_tfm; |
5446 | desc->flags = 0; | ||
5447 | 5446 | ||
5448 | rv = crypto_shash_setkey(connection->cram_hmac_tfm, (u8 *)secret, key_len); | 5447 | rv = crypto_shash_setkey(connection->cram_hmac_tfm, (u8 *)secret, key_len); |
5449 | if (rv) { | 5448 | if (rv) { |
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c index 268ef0c5d4ab..6781bcf3ec26 100644 --- a/drivers/block/drbd/drbd_worker.c +++ b/drivers/block/drbd/drbd_worker.c | |||
@@ -304,7 +304,6 @@ void drbd_csum_ee(struct crypto_shash *tfm, struct drbd_peer_request *peer_req, | |||
304 | void *src; | 304 | void *src; |
305 | 305 | ||
306 | desc->tfm = tfm; | 306 | desc->tfm = tfm; |
307 | desc->flags = 0; | ||
308 | 307 | ||
309 | crypto_shash_init(desc); | 308 | crypto_shash_init(desc); |
310 | 309 | ||
@@ -332,7 +331,6 @@ void drbd_csum_bio(struct crypto_shash *tfm, struct bio *bio, void *digest) | |||
332 | struct bvec_iter iter; | 331 | struct bvec_iter iter; |
333 | 332 | ||
334 | desc->tfm = tfm; | 333 | desc->tfm = tfm; |
335 | desc->flags = 0; | ||
336 | 334 | ||
337 | crypto_shash_init(desc); | 335 | crypto_shash_init(desc); |
338 | 336 | ||
diff --git a/drivers/crypto/axis/artpec6_crypto.c b/drivers/crypto/axis/artpec6_crypto.c index 57e5dca3253f..d2fb72811442 100644 --- a/drivers/crypto/axis/artpec6_crypto.c +++ b/drivers/crypto/axis/artpec6_crypto.c | |||
@@ -2247,8 +2247,6 @@ artpec6_crypto_hash_set_key(struct crypto_ahash *tfm, | |||
2247 | SHASH_DESC_ON_STACK(hdesc, tfm_ctx->child_hash); | 2247 | SHASH_DESC_ON_STACK(hdesc, tfm_ctx->child_hash); |
2248 | 2248 | ||
2249 | hdesc->tfm = tfm_ctx->child_hash; | 2249 | hdesc->tfm = tfm_ctx->child_hash; |
2250 | hdesc->flags = crypto_ahash_get_flags(tfm) & | ||
2251 | CRYPTO_TFM_REQ_MAY_SLEEP; | ||
2252 | 2250 | ||
2253 | tfm_ctx->hmac_key_length = blocksize; | 2251 | tfm_ctx->hmac_key_length = blocksize; |
2254 | ret = crypto_shash_digest(hdesc, key, keylen, | 2252 | ret = crypto_shash_digest(hdesc, key, keylen, |
diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c index 8862200d4a0b..25f8d3913ceb 100644 --- a/drivers/crypto/bcm/cipher.c +++ b/drivers/crypto/bcm/cipher.c | |||
@@ -2140,7 +2140,6 @@ static int ahash_init(struct ahash_request *req) | |||
2140 | goto err_hash; | 2140 | goto err_hash; |
2141 | } | 2141 | } |
2142 | ctx->shash->tfm = hash; | 2142 | ctx->shash->tfm = hash; |
2143 | ctx->shash->flags = 0; | ||
2144 | 2143 | ||
2145 | /* Set the key using data we already have from setkey */ | 2144 | /* Set the key using data we already have from setkey */ |
2146 | if (ctx->authkeylen > 0) { | 2145 | if (ctx->authkeylen > 0) { |
diff --git a/drivers/crypto/bcm/util.c b/drivers/crypto/bcm/util.c index d8cda5fb75ad..91ec56399d84 100644 --- a/drivers/crypto/bcm/util.c +++ b/drivers/crypto/bcm/util.c | |||
@@ -242,7 +242,6 @@ int do_shash(unsigned char *name, unsigned char *result, | |||
242 | goto do_shash_err; | 242 | goto do_shash_err; |
243 | } | 243 | } |
244 | sdesc->shash.tfm = hash; | 244 | sdesc->shash.tfm = hash; |
245 | sdesc->shash.flags = 0x0; | ||
246 | 245 | ||
247 | if (key_len > 0) { | 246 | if (key_len > 0) { |
248 | rc = crypto_shash_setkey(hash, key, key_len); | 247 | rc = crypto_shash_setkey(hash, key, key_len); |
diff --git a/drivers/crypto/ccp/ccp-crypto-sha.c b/drivers/crypto/ccp/ccp-crypto-sha.c index 10a61cd54fce..3e10573f589e 100644 --- a/drivers/crypto/ccp/ccp-crypto-sha.c +++ b/drivers/crypto/ccp/ccp-crypto-sha.c | |||
@@ -293,8 +293,6 @@ static int ccp_sha_setkey(struct crypto_ahash *tfm, const u8 *key, | |||
293 | if (key_len > block_size) { | 293 | if (key_len > block_size) { |
294 | /* Must hash the input key */ | 294 | /* Must hash the input key */ |
295 | sdesc->tfm = shash; | 295 | sdesc->tfm = shash; |
296 | sdesc->flags = crypto_ahash_get_flags(tfm) & | ||
297 | CRYPTO_TFM_REQ_MAY_SLEEP; | ||
298 | 296 | ||
299 | ret = crypto_shash_digest(sdesc, key, key_len, | 297 | ret = crypto_shash_digest(sdesc, key, key_len, |
300 | ctx->u.sha.key); | 298 | ctx->u.sha.key); |
diff --git a/drivers/crypto/chelsio/chcr_algo.c b/drivers/crypto/chelsio/chcr_algo.c index 8d8cf80b9294..8a76fce22943 100644 --- a/drivers/crypto/chelsio/chcr_algo.c +++ b/drivers/crypto/chelsio/chcr_algo.c | |||
@@ -2130,7 +2130,6 @@ static int chcr_ahash_setkey(struct crypto_ahash *tfm, const u8 *key, | |||
2130 | * ipad in hmacctx->ipad and opad in hmacctx->opad location | 2130 | * ipad in hmacctx->ipad and opad in hmacctx->opad location |
2131 | */ | 2131 | */ |
2132 | shash->tfm = hmacctx->base_hash; | 2132 | shash->tfm = hmacctx->base_hash; |
2133 | shash->flags = crypto_shash_get_flags(hmacctx->base_hash); | ||
2134 | if (keylen > bs) { | 2133 | if (keylen > bs) { |
2135 | err = crypto_shash_digest(shash, key, keylen, | 2134 | err = crypto_shash_digest(shash, key, keylen, |
2136 | hmacctx->ipad); | 2135 | hmacctx->ipad); |
@@ -3517,7 +3516,6 @@ static int chcr_authenc_setkey(struct crypto_aead *authenc, const u8 *key, | |||
3517 | SHASH_DESC_ON_STACK(shash, base_hash); | 3516 | SHASH_DESC_ON_STACK(shash, base_hash); |
3518 | 3517 | ||
3519 | shash->tfm = base_hash; | 3518 | shash->tfm = base_hash; |
3520 | shash->flags = crypto_shash_get_flags(base_hash); | ||
3521 | bs = crypto_shash_blocksize(base_hash); | 3519 | bs = crypto_shash_blocksize(base_hash); |
3522 | align = KEYCTX_ALIGN_PAD(max_authsize); | 3520 | align = KEYCTX_ALIGN_PAD(max_authsize); |
3523 | o_ptr = actx->h_iopad + param.result_size + align; | 3521 | o_ptr = actx->h_iopad + param.result_size + align; |
diff --git a/drivers/crypto/mediatek/mtk-sha.c b/drivers/crypto/mediatek/mtk-sha.c index 5f4f845adbb8..a0806ba40c68 100644 --- a/drivers/crypto/mediatek/mtk-sha.c +++ b/drivers/crypto/mediatek/mtk-sha.c | |||
@@ -365,7 +365,6 @@ static int mtk_sha_finish_hmac(struct ahash_request *req) | |||
365 | SHASH_DESC_ON_STACK(shash, bctx->shash); | 365 | SHASH_DESC_ON_STACK(shash, bctx->shash); |
366 | 366 | ||
367 | shash->tfm = bctx->shash; | 367 | shash->tfm = bctx->shash; |
368 | shash->flags = 0; /* not CRYPTO_TFM_REQ_MAY_SLEEP */ | ||
369 | 368 | ||
370 | return crypto_shash_init(shash) ?: | 369 | return crypto_shash_init(shash) ?: |
371 | crypto_shash_update(shash, bctx->opad, ctx->bs) ?: | 370 | crypto_shash_update(shash, bctx->opad, ctx->bs) ?: |
@@ -810,8 +809,6 @@ static int mtk_sha_setkey(struct crypto_ahash *tfm, const u8 *key, | |||
810 | SHASH_DESC_ON_STACK(shash, bctx->shash); | 809 | SHASH_DESC_ON_STACK(shash, bctx->shash); |
811 | 810 | ||
812 | shash->tfm = bctx->shash; | 811 | shash->tfm = bctx->shash; |
813 | shash->flags = crypto_shash_get_flags(bctx->shash) & | ||
814 | CRYPTO_TFM_REQ_MAY_SLEEP; | ||
815 | 812 | ||
816 | if (keylen > bs) { | 813 | if (keylen > bs) { |
817 | err = crypto_shash_digest(shash, key, keylen, bctx->ipad); | 814 | err = crypto_shash_digest(shash, key, keylen, bctx->ipad); |
diff --git a/drivers/crypto/n2_core.c b/drivers/crypto/n2_core.c index df675aea58f6..0d5d3d8eb680 100644 --- a/drivers/crypto/n2_core.c +++ b/drivers/crypto/n2_core.c | |||
@@ -469,8 +469,6 @@ static int n2_hmac_async_setkey(struct crypto_ahash *tfm, const u8 *key, | |||
469 | return err; | 469 | return err; |
470 | 470 | ||
471 | shash->tfm = child_shash; | 471 | shash->tfm = child_shash; |
472 | shash->flags = crypto_ahash_get_flags(tfm) & | ||
473 | CRYPTO_TFM_REQ_MAY_SLEEP; | ||
474 | 472 | ||
475 | bs = crypto_shash_blocksize(child_shash); | 473 | bs = crypto_shash_blocksize(child_shash); |
476 | ds = crypto_shash_digestsize(child_shash); | 474 | ds = crypto_shash_digestsize(child_shash); |
diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c index 0641185bd82f..51b20abac464 100644 --- a/drivers/crypto/omap-sham.c +++ b/drivers/crypto/omap-sham.c | |||
@@ -1055,7 +1055,6 @@ static int omap_sham_finish_hmac(struct ahash_request *req) | |||
1055 | SHASH_DESC_ON_STACK(shash, bctx->shash); | 1055 | SHASH_DESC_ON_STACK(shash, bctx->shash); |
1056 | 1056 | ||
1057 | shash->tfm = bctx->shash; | 1057 | shash->tfm = bctx->shash; |
1058 | shash->flags = 0; /* not CRYPTO_TFM_REQ_MAY_SLEEP */ | ||
1059 | 1058 | ||
1060 | return crypto_shash_init(shash) ?: | 1059 | return crypto_shash_init(shash) ?: |
1061 | crypto_shash_update(shash, bctx->opad, bs) ?: | 1060 | crypto_shash_update(shash, bctx->opad, bs) ?: |
@@ -1226,7 +1225,6 @@ static int omap_sham_shash_digest(struct crypto_shash *tfm, u32 flags, | |||
1226 | SHASH_DESC_ON_STACK(shash, tfm); | 1225 | SHASH_DESC_ON_STACK(shash, tfm); |
1227 | 1226 | ||
1228 | shash->tfm = tfm; | 1227 | shash->tfm = tfm; |
1229 | shash->flags = flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
1230 | 1228 | ||
1231 | return crypto_shash_digest(shash, data, len, out); | 1229 | return crypto_shash_digest(shash, data, len, out); |
1232 | } | 1230 | } |
diff --git a/drivers/crypto/padlock-sha.c b/drivers/crypto/padlock-sha.c index 21e5cae0a1e0..e641481a3cd9 100644 --- a/drivers/crypto/padlock-sha.c +++ b/drivers/crypto/padlock-sha.c | |||
@@ -39,7 +39,6 @@ static int padlock_sha_init(struct shash_desc *desc) | |||
39 | struct padlock_sha_ctx *ctx = crypto_shash_ctx(desc->tfm); | 39 | struct padlock_sha_ctx *ctx = crypto_shash_ctx(desc->tfm); |
40 | 40 | ||
41 | dctx->fallback.tfm = ctx->fallback; | 41 | dctx->fallback.tfm = ctx->fallback; |
42 | dctx->fallback.flags = desc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
43 | return crypto_shash_init(&dctx->fallback); | 42 | return crypto_shash_init(&dctx->fallback); |
44 | } | 43 | } |
45 | 44 | ||
@@ -48,7 +47,6 @@ static int padlock_sha_update(struct shash_desc *desc, | |||
48 | { | 47 | { |
49 | struct padlock_sha_desc *dctx = shash_desc_ctx(desc); | 48 | struct padlock_sha_desc *dctx = shash_desc_ctx(desc); |
50 | 49 | ||
51 | dctx->fallback.flags = desc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
52 | return crypto_shash_update(&dctx->fallback, data, length); | 50 | return crypto_shash_update(&dctx->fallback, data, length); |
53 | } | 51 | } |
54 | 52 | ||
@@ -65,7 +63,6 @@ static int padlock_sha_import(struct shash_desc *desc, const void *in) | |||
65 | struct padlock_sha_ctx *ctx = crypto_shash_ctx(desc->tfm); | 63 | struct padlock_sha_ctx *ctx = crypto_shash_ctx(desc->tfm); |
66 | 64 | ||
67 | dctx->fallback.tfm = ctx->fallback; | 65 | dctx->fallback.tfm = ctx->fallback; |
68 | dctx->fallback.flags = desc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
69 | return crypto_shash_import(&dctx->fallback, in); | 66 | return crypto_shash_import(&dctx->fallback, in); |
70 | } | 67 | } |
71 | 68 | ||
@@ -91,7 +88,6 @@ static int padlock_sha1_finup(struct shash_desc *desc, const u8 *in, | |||
91 | unsigned int leftover; | 88 | unsigned int leftover; |
92 | int err; | 89 | int err; |
93 | 90 | ||
94 | dctx->fallback.flags = desc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
95 | err = crypto_shash_export(&dctx->fallback, &state); | 91 | err = crypto_shash_export(&dctx->fallback, &state); |
96 | if (err) | 92 | if (err) |
97 | goto out; | 93 | goto out; |
@@ -153,7 +149,6 @@ static int padlock_sha256_finup(struct shash_desc *desc, const u8 *in, | |||
153 | unsigned int leftover; | 149 | unsigned int leftover; |
154 | int err; | 150 | int err; |
155 | 151 | ||
156 | dctx->fallback.flags = desc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; | ||
157 | err = crypto_shash_export(&dctx->fallback, &state); | 152 | err = crypto_shash_export(&dctx->fallback, &state); |
158 | if (err) | 153 | if (err) |
159 | goto out; | 154 | goto out; |
diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c index 975c75198f56..c8d401646902 100644 --- a/drivers/crypto/qat/qat_common/qat_algs.c +++ b/drivers/crypto/qat/qat_common/qat_algs.c | |||
@@ -164,7 +164,6 @@ static int qat_alg_do_precomputes(struct icp_qat_hw_auth_algo_blk *hash, | |||
164 | memset(ctx->ipad, 0, block_size); | 164 | memset(ctx->ipad, 0, block_size); |
165 | memset(ctx->opad, 0, block_size); | 165 | memset(ctx->opad, 0, block_size); |
166 | shash->tfm = ctx->hash_tfm; | 166 | shash->tfm = ctx->hash_tfm; |
167 | shash->flags = 0x0; | ||
168 | 167 | ||
169 | if (auth_keylen > block_size) { | 168 | if (auth_keylen > block_size) { |
170 | int ret = crypto_shash_digest(shash, auth_key, | 169 | int ret = crypto_shash_digest(shash, auth_key, |
diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c index 1afdcb81d8ed..9ef25230c199 100644 --- a/drivers/crypto/s5p-sss.c +++ b/drivers/crypto/s5p-sss.c | |||
@@ -1534,7 +1534,6 @@ static int s5p_hash_shash_digest(struct crypto_shash *tfm, u32 flags, | |||
1534 | SHASH_DESC_ON_STACK(shash, tfm); | 1534 | SHASH_DESC_ON_STACK(shash, tfm); |
1535 | 1535 | ||
1536 | shash->tfm = tfm; | 1536 | shash->tfm = tfm; |
1537 | shash->flags = flags & ~CRYPTO_TFM_REQ_MAY_SLEEP; | ||
1538 | 1537 | ||
1539 | return crypto_shash_digest(shash, data, len, out); | 1538 | return crypto_shash_digest(shash, data, len, out); |
1540 | } | 1539 | } |
diff --git a/drivers/crypto/vmx/ghash.c b/drivers/crypto/vmx/ghash.c index 611ff591410e..b5a6883bb09e 100644 --- a/drivers/crypto/vmx/ghash.c +++ b/drivers/crypto/vmx/ghash.c | |||
@@ -101,7 +101,6 @@ static int p8_ghash_init(struct shash_desc *desc) | |||
101 | dctx->bytes = 0; | 101 | dctx->bytes = 0; |
102 | memset(dctx->shash, 0, GHASH_DIGEST_SIZE); | 102 | memset(dctx->shash, 0, GHASH_DIGEST_SIZE); |
103 | dctx->fallback_desc.tfm = ctx->fallback; | 103 | dctx->fallback_desc.tfm = ctx->fallback; |
104 | dctx->fallback_desc.flags = desc->flags; | ||
105 | return crypto_shash_init(&dctx->fallback_desc); | 104 | return crypto_shash_init(&dctx->fallback_desc); |
106 | } | 105 | } |
107 | 106 | ||
diff --git a/drivers/infiniband/sw/rxe/rxe.h b/drivers/infiniband/sw/rxe/rxe.h index 2e2dff478833..ecf6e659c0da 100644 --- a/drivers/infiniband/sw/rxe/rxe.h +++ b/drivers/infiniband/sw/rxe/rxe.h | |||
@@ -80,7 +80,6 @@ static inline u32 rxe_crc32(struct rxe_dev *rxe, | |||
80 | SHASH_DESC_ON_STACK(shash, rxe->tfm); | 80 | SHASH_DESC_ON_STACK(shash, rxe->tfm); |
81 | 81 | ||
82 | shash->tfm = rxe->tfm; | 82 | shash->tfm = rxe->tfm; |
83 | shash->flags = 0; | ||
84 | *(u32 *)shash_desc_ctx(shash) = crc; | 83 | *(u32 *)shash_desc_ctx(shash) = crc; |
85 | err = crypto_shash_update(shash, next, len); | 84 | err = crypto_shash_update(shash, next, len); |
86 | if (unlikely(err)) { | 85 | if (unlikely(err)) { |
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index dd6565798778..9faed1c92b52 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c | |||
@@ -332,7 +332,6 @@ static int crypt_iv_essiv_init(struct crypt_config *cc) | |||
332 | int err; | 332 | int err; |
333 | 333 | ||
334 | desc->tfm = essiv->hash_tfm; | 334 | desc->tfm = essiv->hash_tfm; |
335 | desc->flags = 0; | ||
336 | 335 | ||
337 | err = crypto_shash_digest(desc, cc->key, cc->key_size, essiv->salt); | 336 | err = crypto_shash_digest(desc, cc->key, cc->key_size, essiv->salt); |
338 | shash_desc_zero(desc); | 337 | shash_desc_zero(desc); |
@@ -606,7 +605,6 @@ static int crypt_iv_lmk_one(struct crypt_config *cc, u8 *iv, | |||
606 | int i, r; | 605 | int i, r; |
607 | 606 | ||
608 | desc->tfm = lmk->hash_tfm; | 607 | desc->tfm = lmk->hash_tfm; |
609 | desc->flags = 0; | ||
610 | 608 | ||
611 | r = crypto_shash_init(desc); | 609 | r = crypto_shash_init(desc); |
612 | if (r) | 610 | if (r) |
@@ -768,7 +766,6 @@ static int crypt_iv_tcw_whitening(struct crypt_config *cc, | |||
768 | 766 | ||
769 | /* calculate crc32 for every 32bit part and xor it */ | 767 | /* calculate crc32 for every 32bit part and xor it */ |
770 | desc->tfm = tcw->crc32_tfm; | 768 | desc->tfm = tcw->crc32_tfm; |
771 | desc->flags = 0; | ||
772 | for (i = 0; i < 4; i++) { | 769 | for (i = 0; i < 4; i++) { |
773 | r = crypto_shash_init(desc); | 770 | r = crypto_shash_init(desc); |
774 | if (r) | 771 | if (r) |
diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c index d57d997a52c8..1366d886907c 100644 --- a/drivers/md/dm-integrity.c +++ b/drivers/md/dm-integrity.c | |||
@@ -532,7 +532,6 @@ static void section_mac(struct dm_integrity_c *ic, unsigned section, __u8 result | |||
532 | unsigned j, size; | 532 | unsigned j, size; |
533 | 533 | ||
534 | desc->tfm = ic->journal_mac; | 534 | desc->tfm = ic->journal_mac; |
535 | desc->flags = 0; | ||
536 | 535 | ||
537 | r = crypto_shash_init(desc); | 536 | r = crypto_shash_init(desc); |
538 | if (unlikely(r)) { | 537 | if (unlikely(r)) { |
@@ -1278,7 +1277,6 @@ static void integrity_sector_checksum(struct dm_integrity_c *ic, sector_t sector | |||
1278 | unsigned digest_size; | 1277 | unsigned digest_size; |
1279 | 1278 | ||
1280 | req->tfm = ic->internal_hash; | 1279 | req->tfm = ic->internal_hash; |
1281 | req->flags = 0; | ||
1282 | 1280 | ||
1283 | r = crypto_shash_init(req); | 1281 | r = crypto_shash_init(req); |
1284 | if (unlikely(r < 0)) { | 1282 | if (unlikely(r < 0)) { |
diff --git a/drivers/net/ppp/ppp_mppe.c b/drivers/net/ppp/ppp_mppe.c index 7ccdc62c6052..ff61dd8748de 100644 --- a/drivers/net/ppp/ppp_mppe.c +++ b/drivers/net/ppp/ppp_mppe.c | |||
@@ -222,7 +222,6 @@ static void *mppe_alloc(unsigned char *options, int optlen) | |||
222 | goto out_free; | 222 | goto out_free; |
223 | } | 223 | } |
224 | state->sha1->tfm = shash; | 224 | state->sha1->tfm = shash; |
225 | state->sha1->flags = 0; | ||
226 | 225 | ||
227 | digestsize = crypto_shash_digestsize(shash); | 226 | digestsize = crypto_shash_digestsize(shash); |
228 | if (digestsize < MPPE_MAX_KEY_LEN) | 227 | if (digestsize < MPPE_MAX_KEY_LEN) |
diff --git a/drivers/net/wireless/intersil/orinoco/mic.c b/drivers/net/wireless/intersil/orinoco/mic.c index 67b0c05afbdb..a324bc4b7938 100644 --- a/drivers/net/wireless/intersil/orinoco/mic.c +++ b/drivers/net/wireless/intersil/orinoco/mic.c | |||
@@ -65,7 +65,6 @@ int orinoco_mic(struct crypto_shash *tfm_michael, u8 *key, | |||
65 | hdr[ETH_ALEN * 2 + 3] = 0; | 65 | hdr[ETH_ALEN * 2 + 3] = 0; |
66 | 66 | ||
67 | desc->tfm = tfm_michael; | 67 | desc->tfm = tfm_michael; |
68 | desc->flags = 0; | ||
69 | 68 | ||
70 | err = crypto_shash_setkey(tfm_michael, key, MIC_KEYLEN); | 69 | err = crypto_shash_setkey(tfm_michael, key, MIC_KEYLEN); |
71 | if (err) | 70 | if (err) |
diff --git a/drivers/nfc/s3fwrn5/firmware.c b/drivers/nfc/s3fwrn5/firmware.c index b7828fb252f2..b681073ae8ba 100644 --- a/drivers/nfc/s3fwrn5/firmware.c +++ b/drivers/nfc/s3fwrn5/firmware.c | |||
@@ -449,7 +449,6 @@ int s3fwrn5_fw_download(struct s3fwrn5_fw_info *fw_info) | |||
449 | SHASH_DESC_ON_STACK(desc, tfm); | 449 | SHASH_DESC_ON_STACK(desc, tfm); |
450 | 450 | ||
451 | desc->tfm = tfm; | 451 | desc->tfm = tfm; |
452 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
453 | 452 | ||
454 | ret = crypto_shash_digest(desc, fw->image, image_size, | 453 | ret = crypto_shash_digest(desc, fw->image, image_size, |
455 | hash_data); | 454 | hash_data); |
diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c index 06ebea0be118..122d4c0af363 100644 --- a/drivers/staging/ks7010/ks_hostif.c +++ b/drivers/staging/ks7010/ks_hostif.c | |||
@@ -219,7 +219,6 @@ michael_mic(u8 *key, u8 *data, unsigned int len, u8 priority, u8 *result) | |||
219 | } | 219 | } |
220 | 220 | ||
221 | desc->tfm = tfm; | 221 | desc->tfm = tfm; |
222 | desc->flags = 0; | ||
223 | 222 | ||
224 | ret = crypto_shash_init(desc); | 223 | ret = crypto_shash_init(desc); |
225 | if (ret < 0) | 224 | if (ret < 0) |
diff --git a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c index 55da8c9dfe50..a084e1501f9d 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c +++ b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c | |||
@@ -507,7 +507,6 @@ static int michael_mic(struct crypto_shash *tfm_michael, u8 *key, u8 *hdr, | |||
507 | int err; | 507 | int err; |
508 | 508 | ||
509 | desc->tfm = tfm_michael; | 509 | desc->tfm = tfm_michael; |
510 | desc->flags = 0; | ||
511 | 510 | ||
512 | if (crypto_shash_setkey(tfm_michael, key, 8)) | 511 | if (crypto_shash_setkey(tfm_michael, key, 8)) |
513 | return -1; | 512 | return -1; |
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c index 829fa4bd253c..d67bb57994c4 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c | |||
@@ -503,7 +503,6 @@ static int michael_mic(struct crypto_shash *tfm_michael, u8 *key, u8 *hdr, | |||
503 | int err; | 503 | int err; |
504 | 504 | ||
505 | desc->tfm = tfm_michael; | 505 | desc->tfm = tfm_michael; |
506 | desc->flags = 0; | ||
507 | 506 | ||
508 | if (crypto_shash_setkey(tfm_michael, key, 8)) | 507 | if (crypto_shash_setkey(tfm_michael, key, 8)) |
509 | return -1; | 508 | return -1; |
diff --git a/drivers/target/iscsi/iscsi_target_auth.c b/drivers/target/iscsi/iscsi_target_auth.c index 4e680d753941..ca7d7e8aecc0 100644 --- a/drivers/target/iscsi/iscsi_target_auth.c +++ b/drivers/target/iscsi/iscsi_target_auth.c | |||
@@ -252,7 +252,6 @@ static int chap_server_compute_md5( | |||
252 | } | 252 | } |
253 | 253 | ||
254 | desc->tfm = tfm; | 254 | desc->tfm = tfm; |
255 | desc->flags = 0; | ||
256 | 255 | ||
257 | ret = crypto_shash_init(desc); | 256 | ret = crypto_shash_init(desc); |
258 | if (ret < 0) { | 257 | if (ret < 0) { |
diff --git a/drivers/thunderbolt/domain.c b/drivers/thunderbolt/domain.c index 7416bdbd8576..b7980c856898 100644 --- a/drivers/thunderbolt/domain.c +++ b/drivers/thunderbolt/domain.c | |||
@@ -678,7 +678,6 @@ int tb_domain_challenge_switch_key(struct tb *tb, struct tb_switch *sw) | |||
678 | } | 678 | } |
679 | 679 | ||
680 | shash->tfm = tfm; | 680 | shash->tfm = tfm; |
681 | shash->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
682 | 681 | ||
683 | memset(hmac, 0, sizeof(hmac)); | 682 | memset(hmac, 0, sizeof(hmac)); |
684 | ret = crypto_shash_digest(shash, challenge, sizeof(hmac), hmac); | 683 | ret = crypto_shash_digest(shash, challenge, sizeof(hmac), hmac); |
diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c index bee203055b30..1a6040998227 100644 --- a/fs/cifs/misc.c +++ b/fs/cifs/misc.c | |||
@@ -917,7 +917,6 @@ cifs_alloc_hash(const char *name, | |||
917 | } | 917 | } |
918 | 918 | ||
919 | (*sdesc)->shash.tfm = *shash; | 919 | (*sdesc)->shash.tfm = *shash; |
920 | (*sdesc)->shash.flags = 0x0; | ||
921 | return 0; | 920 | return 0; |
922 | } | 921 | } |
923 | 922 | ||
diff --git a/fs/crypto/keyinfo.c b/fs/crypto/keyinfo.c index 322ce9686bdb..2cb4956f8511 100644 --- a/fs/crypto/keyinfo.c +++ b/fs/crypto/keyinfo.c | |||
@@ -402,7 +402,6 @@ static int derive_essiv_salt(const u8 *key, int keysize, u8 *salt) | |||
402 | { | 402 | { |
403 | SHASH_DESC_ON_STACK(desc, tfm); | 403 | SHASH_DESC_ON_STACK(desc, tfm); |
404 | desc->tfm = tfm; | 404 | desc->tfm = tfm; |
405 | desc->flags = 0; | ||
406 | 405 | ||
407 | return crypto_shash_digest(desc, key, keysize, salt); | 406 | return crypto_shash_digest(desc, key, keysize, salt); |
408 | } | 407 | } |
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index f664da55234e..491cf5baa8c2 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c | |||
@@ -68,7 +68,6 @@ static int ecryptfs_hash_digest(struct crypto_shash *tfm, | |||
68 | int err; | 68 | int err; |
69 | 69 | ||
70 | desc->tfm = tfm; | 70 | desc->tfm = tfm; |
71 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
72 | err = crypto_shash_digest(desc, src, len, dst); | 71 | err = crypto_shash_digest(desc, src, len, dst); |
73 | shash_desc_zero(desc); | 72 | shash_desc_zero(desc); |
74 | return err; | 73 | return err; |
diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c index e74fe84d0886..90fbac5d485b 100644 --- a/fs/ecryptfs/keystore.c +++ b/fs/ecryptfs/keystore.c | |||
@@ -769,7 +769,6 @@ ecryptfs_write_tag_70_packet(char *dest, size_t *remaining_bytes, | |||
769 | } | 769 | } |
770 | 770 | ||
771 | s->hash_desc->tfm = s->hash_tfm; | 771 | s->hash_desc->tfm = s->hash_tfm; |
772 | s->hash_desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
773 | 772 | ||
774 | rc = crypto_shash_digest(s->hash_desc, | 773 | rc = crypto_shash_digest(s->hash_desc, |
775 | (u8 *)s->auth_tok->token.password.session_key_encryption_key, | 774 | (u8 *)s->auth_tok->token.password.session_key_encryption_key, |
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 82ffdacdc7fa..0833b5fc0668 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -2024,7 +2024,6 @@ static inline u32 ext4_chksum(struct ext4_sb_info *sbi, u32 crc, | |||
2024 | BUG_ON(crypto_shash_descsize(sbi->s_chksum_driver)!=sizeof(desc.ctx)); | 2024 | BUG_ON(crypto_shash_descsize(sbi->s_chksum_driver)!=sizeof(desc.ctx)); |
2025 | 2025 | ||
2026 | desc.shash.tfm = sbi->s_chksum_driver; | 2026 | desc.shash.tfm = sbi->s_chksum_driver; |
2027 | desc.shash.flags = 0; | ||
2028 | *(u32 *)desc.ctx = crc; | 2027 | *(u32 *)desc.ctx = crc; |
2029 | 2028 | ||
2030 | BUG_ON(crypto_shash_update(&desc.shash, address, length)); | 2029 | BUG_ON(crypto_shash_update(&desc.shash, address, length)); |
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 87f75ebd2fd6..21b0ab6bd15a 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h | |||
@@ -1422,7 +1422,6 @@ static inline u32 __f2fs_crc32(struct f2fs_sb_info *sbi, u32 crc, | |||
1422 | BUG_ON(crypto_shash_descsize(sbi->s_chksum_driver) != sizeof(desc.ctx)); | 1422 | BUG_ON(crypto_shash_descsize(sbi->s_chksum_driver) != sizeof(desc.ctx)); |
1423 | 1423 | ||
1424 | desc.shash.tfm = sbi->s_chksum_driver; | 1424 | desc.shash.tfm = sbi->s_chksum_driver; |
1425 | desc.shash.flags = 0; | ||
1426 | *(u32 *)desc.ctx = crc; | 1425 | *(u32 *)desc.ctx = crc; |
1427 | 1426 | ||
1428 | err = crypto_shash_update(&desc.shash, address, length); | 1427 | err = crypto_shash_update(&desc.shash, address, length); |
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 5188f9f70c78..8c8563441208 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c | |||
@@ -126,7 +126,6 @@ nfs4_make_rec_clidname(char *dname, const struct xdr_netobj *clname) | |||
126 | SHASH_DESC_ON_STACK(desc, tfm); | 126 | SHASH_DESC_ON_STACK(desc, tfm); |
127 | 127 | ||
128 | desc->tfm = tfm; | 128 | desc->tfm = tfm; |
129 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
130 | 129 | ||
131 | status = crypto_shash_digest(desc, clname->data, clname->len, | 130 | status = crypto_shash_digest(desc, clname->data, clname->len, |
132 | cksum.data); | 131 | cksum.data); |
diff --git a/fs/ubifs/auth.c b/fs/ubifs/auth.c index 5bf5fd08879e..b758004085c4 100644 --- a/fs/ubifs/auth.c +++ b/fs/ubifs/auth.c | |||
@@ -33,7 +33,6 @@ int __ubifs_node_calc_hash(const struct ubifs_info *c, const void *node, | |||
33 | int err; | 33 | int err; |
34 | 34 | ||
35 | shash->tfm = c->hash_tfm; | 35 | shash->tfm = c->hash_tfm; |
36 | shash->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
37 | 36 | ||
38 | err = crypto_shash_digest(shash, node, le32_to_cpu(ch->len), hash); | 37 | err = crypto_shash_digest(shash, node, le32_to_cpu(ch->len), hash); |
39 | if (err < 0) | 38 | if (err < 0) |
@@ -56,7 +55,6 @@ static int ubifs_hash_calc_hmac(const struct ubifs_info *c, const u8 *hash, | |||
56 | int err; | 55 | int err; |
57 | 56 | ||
58 | shash->tfm = c->hmac_tfm; | 57 | shash->tfm = c->hmac_tfm; |
59 | shash->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
60 | 58 | ||
61 | err = crypto_shash_digest(shash, hash, c->hash_len, hmac); | 59 | err = crypto_shash_digest(shash, hash, c->hash_len, hmac); |
62 | if (err < 0) | 60 | if (err < 0) |
@@ -88,7 +86,6 @@ int ubifs_prepare_auth_node(struct ubifs_info *c, void *node, | |||
88 | return -ENOMEM; | 86 | return -ENOMEM; |
89 | 87 | ||
90 | hash_desc->tfm = c->hash_tfm; | 88 | hash_desc->tfm = c->hash_tfm; |
91 | hash_desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
92 | ubifs_shash_copy_state(c, inhash, hash_desc); | 89 | ubifs_shash_copy_state(c, inhash, hash_desc); |
93 | 90 | ||
94 | err = crypto_shash_final(hash_desc, hash); | 91 | err = crypto_shash_final(hash_desc, hash); |
@@ -123,7 +120,6 @@ static struct shash_desc *ubifs_get_desc(const struct ubifs_info *c, | |||
123 | return ERR_PTR(-ENOMEM); | 120 | return ERR_PTR(-ENOMEM); |
124 | 121 | ||
125 | desc->tfm = tfm; | 122 | desc->tfm = tfm; |
126 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
127 | 123 | ||
128 | err = crypto_shash_init(desc); | 124 | err = crypto_shash_init(desc); |
129 | if (err) { | 125 | if (err) { |
@@ -364,7 +360,6 @@ static int ubifs_node_calc_hmac(const struct ubifs_info *c, const void *node, | |||
364 | ubifs_assert(c, ofs_hmac + hmac_len < len); | 360 | ubifs_assert(c, ofs_hmac + hmac_len < len); |
365 | 361 | ||
366 | shash->tfm = c->hmac_tfm; | 362 | shash->tfm = c->hmac_tfm; |
367 | shash->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
368 | 363 | ||
369 | err = crypto_shash_init(shash); | 364 | err = crypto_shash_init(shash); |
370 | if (err) | 365 | if (err) |
@@ -483,7 +478,6 @@ int ubifs_hmac_wkm(struct ubifs_info *c, u8 *hmac) | |||
483 | return 0; | 478 | return 0; |
484 | 479 | ||
485 | shash->tfm = c->hmac_tfm; | 480 | shash->tfm = c->hmac_tfm; |
486 | shash->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
487 | 481 | ||
488 | err = crypto_shash_init(shash); | 482 | err = crypto_shash_init(shash); |
489 | if (err) | 483 | if (err) |
diff --git a/fs/ubifs/replay.c b/fs/ubifs/replay.c index 0a0e65c07c6d..5c8a81a019a4 100644 --- a/fs/ubifs/replay.c +++ b/fs/ubifs/replay.c | |||
@@ -576,7 +576,6 @@ static int authenticate_sleb_hash(struct ubifs_info *c, struct shash_desc *log_h | |||
576 | SHASH_DESC_ON_STACK(hash_desc, c->hash_tfm); | 576 | SHASH_DESC_ON_STACK(hash_desc, c->hash_tfm); |
577 | 577 | ||
578 | hash_desc->tfm = c->hash_tfm; | 578 | hash_desc->tfm = c->hash_tfm; |
579 | hash_desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
580 | 579 | ||
581 | ubifs_shash_copy_state(c, log_hash, hash_desc); | 580 | ubifs_shash_copy_state(c, log_hash, hash_desc); |
582 | return crypto_shash_final(hash_desc, hash); | 581 | return crypto_shash_final(hash_desc, hash); |
@@ -587,7 +586,6 @@ static int authenticate_sleb_hmac(struct ubifs_info *c, u8 *hash, u8 *hmac) | |||
587 | SHASH_DESC_ON_STACK(hmac_desc, c->hmac_tfm); | 586 | SHASH_DESC_ON_STACK(hmac_desc, c->hmac_tfm); |
588 | 587 | ||
589 | hmac_desc->tfm = c->hmac_tfm; | 588 | hmac_desc->tfm = c->hmac_tfm; |
590 | hmac_desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
591 | 589 | ||
592 | return crypto_shash_digest(hmac_desc, hash, c->hash_len, hmac); | 590 | return crypto_shash_digest(hmac_desc, hash, c->hash_len, hmac); |
593 | } | 591 | } |
diff --git a/include/crypto/hash.h b/include/crypto/hash.h index 3b31c1b349ae..d21bea2c4382 100644 --- a/include/crypto/hash.h +++ b/include/crypto/hash.h | |||
@@ -146,8 +146,6 @@ struct ahash_alg { | |||
146 | 146 | ||
147 | struct shash_desc { | 147 | struct shash_desc { |
148 | struct crypto_shash *tfm; | 148 | struct crypto_shash *tfm; |
149 | u32 flags; | ||
150 | |||
151 | void *__ctx[] CRYPTO_MINALIGN_ATTR; | 149 | void *__ctx[] CRYPTO_MINALIGN_ATTR; |
152 | }; | 150 | }; |
153 | 151 | ||
@@ -819,6 +817,7 @@ static inline void *shash_desc_ctx(struct shash_desc *desc) | |||
819 | * cipher handle must point to a keyed message digest cipher in order for this | 817 | * cipher handle must point to a keyed message digest cipher in order for this |
820 | * function to succeed. | 818 | * function to succeed. |
821 | * | 819 | * |
820 | * Context: Any context. | ||
822 | * Return: 0 if the setting of the key was successful; < 0 if an error occurred | 821 | * Return: 0 if the setting of the key was successful; < 0 if an error occurred |
823 | */ | 822 | */ |
824 | int crypto_shash_setkey(struct crypto_shash *tfm, const u8 *key, | 823 | int crypto_shash_setkey(struct crypto_shash *tfm, const u8 *key, |
@@ -835,6 +834,7 @@ int crypto_shash_setkey(struct crypto_shash *tfm, const u8 *key, | |||
835 | * crypto_shash_update and crypto_shash_final. The parameters have the same | 834 | * crypto_shash_update and crypto_shash_final. The parameters have the same |
836 | * meaning as discussed for those separate three functions. | 835 | * meaning as discussed for those separate three functions. |
837 | * | 836 | * |
837 | * Context: Any context. | ||
838 | * Return: 0 if the message digest creation was successful; < 0 if an error | 838 | * Return: 0 if the message digest creation was successful; < 0 if an error |
839 | * occurred | 839 | * occurred |
840 | */ | 840 | */ |
@@ -850,6 +850,7 @@ int crypto_shash_digest(struct shash_desc *desc, const u8 *data, | |||
850 | * caller-allocated output buffer out which must have sufficient size (e.g. by | 850 | * caller-allocated output buffer out which must have sufficient size (e.g. by |
851 | * calling crypto_shash_descsize). | 851 | * calling crypto_shash_descsize). |
852 | * | 852 | * |
853 | * Context: Any context. | ||
853 | * Return: 0 if the export creation was successful; < 0 if an error occurred | 854 | * Return: 0 if the export creation was successful; < 0 if an error occurred |
854 | */ | 855 | */ |
855 | static inline int crypto_shash_export(struct shash_desc *desc, void *out) | 856 | static inline int crypto_shash_export(struct shash_desc *desc, void *out) |
@@ -866,6 +867,7 @@ static inline int crypto_shash_export(struct shash_desc *desc, void *out) | |||
866 | * the input buffer. That buffer should have been generated with the | 867 | * the input buffer. That buffer should have been generated with the |
867 | * crypto_ahash_export function. | 868 | * crypto_ahash_export function. |
868 | * | 869 | * |
870 | * Context: Any context. | ||
869 | * Return: 0 if the import was successful; < 0 if an error occurred | 871 | * Return: 0 if the import was successful; < 0 if an error occurred |
870 | */ | 872 | */ |
871 | static inline int crypto_shash_import(struct shash_desc *desc, const void *in) | 873 | static inline int crypto_shash_import(struct shash_desc *desc, const void *in) |
@@ -886,6 +888,7 @@ static inline int crypto_shash_import(struct shash_desc *desc, const void *in) | |||
886 | * operational state handle. Any potentially existing state created by | 888 | * operational state handle. Any potentially existing state created by |
887 | * previous operations is discarded. | 889 | * previous operations is discarded. |
888 | * | 890 | * |
891 | * Context: Any context. | ||
889 | * Return: 0 if the message digest initialization was successful; < 0 if an | 892 | * Return: 0 if the message digest initialization was successful; < 0 if an |
890 | * error occurred | 893 | * error occurred |
891 | */ | 894 | */ |
@@ -907,6 +910,7 @@ static inline int crypto_shash_init(struct shash_desc *desc) | |||
907 | * | 910 | * |
908 | * Updates the message digest state of the operational state handle. | 911 | * Updates the message digest state of the operational state handle. |
909 | * | 912 | * |
913 | * Context: Any context. | ||
910 | * Return: 0 if the message digest update was successful; < 0 if an error | 914 | * Return: 0 if the message digest update was successful; < 0 if an error |
911 | * occurred | 915 | * occurred |
912 | */ | 916 | */ |
@@ -923,6 +927,7 @@ int crypto_shash_update(struct shash_desc *desc, const u8 *data, | |||
923 | * into the output buffer. The caller must ensure that the output buffer is | 927 | * into the output buffer. The caller must ensure that the output buffer is |
924 | * large enough by using crypto_shash_digestsize. | 928 | * large enough by using crypto_shash_digestsize. |
925 | * | 929 | * |
930 | * Context: Any context. | ||
926 | * Return: 0 if the message digest creation was successful; < 0 if an error | 931 | * Return: 0 if the message digest creation was successful; < 0 if an error |
927 | * occurred | 932 | * occurred |
928 | */ | 933 | */ |
@@ -939,6 +944,7 @@ int crypto_shash_final(struct shash_desc *desc, u8 *out); | |||
939 | * crypto_shash_update and crypto_shash_final. The parameters have the same | 944 | * crypto_shash_update and crypto_shash_final. The parameters have the same |
940 | * meaning as discussed for those separate functions. | 945 | * meaning as discussed for those separate functions. |
941 | * | 946 | * |
947 | * Context: Any context. | ||
942 | * Return: 0 if the message digest creation was successful; < 0 if an error | 948 | * Return: 0 if the message digest creation was successful; < 0 if an error |
943 | * occurred | 949 | * occurred |
944 | */ | 950 | */ |
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 0f919d5fe84f..c2ffff5f9ae2 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
@@ -1606,7 +1606,6 @@ static inline u32 jbd2_chksum(journal_t *journal, u32 crc, | |||
1606 | JBD_MAX_CHECKSUM_SIZE); | 1606 | JBD_MAX_CHECKSUM_SIZE); |
1607 | 1607 | ||
1608 | desc.shash.tfm = journal->j_chksum_driver; | 1608 | desc.shash.tfm = journal->j_chksum_driver; |
1609 | desc.shash.flags = 0; | ||
1610 | *(u32 *)desc.ctx = crc; | 1609 | *(u32 *)desc.ctx = crc; |
1611 | 1610 | ||
1612 | err = crypto_shash_update(&desc.shash, address, length); | 1611 | err = crypto_shash_update(&desc.shash, address, length); |
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index f1d0e00a3971..f7fb8f6a688f 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c | |||
@@ -688,7 +688,6 @@ static int kexec_calculate_store_digests(struct kimage *image) | |||
688 | goto out_free_desc; | 688 | goto out_free_desc; |
689 | 689 | ||
690 | desc->tfm = tfm; | 690 | desc->tfm = tfm; |
691 | desc->flags = 0; | ||
692 | 691 | ||
693 | ret = crypto_shash_init(desc); | 692 | ret = crypto_shash_init(desc); |
694 | if (ret < 0) | 693 | if (ret < 0) |
diff --git a/lib/crc-t10dif.c b/lib/crc-t10dif.c index 4d0d47c1ffbd..e89ebfdbb0fc 100644 --- a/lib/crc-t10dif.c +++ b/lib/crc-t10dif.c | |||
@@ -69,7 +69,6 @@ __u16 crc_t10dif_update(__u16 crc, const unsigned char *buffer, size_t len) | |||
69 | 69 | ||
70 | rcu_read_lock(); | 70 | rcu_read_lock(); |
71 | desc.shash.tfm = rcu_dereference(crct10dif_tfm); | 71 | desc.shash.tfm = rcu_dereference(crct10dif_tfm); |
72 | desc.shash.flags = 0; | ||
73 | *(__u16 *)desc.ctx = crc; | 72 | *(__u16 *)desc.ctx = crc; |
74 | 73 | ||
75 | err = crypto_shash_update(&desc.shash, buffer, len); | 74 | err = crypto_shash_update(&desc.shash, buffer, len); |
diff --git a/lib/digsig.c b/lib/digsig.c index 6ba6fcd92dd1..3b0a579bdcdf 100644 --- a/lib/digsig.c +++ b/lib/digsig.c | |||
@@ -240,7 +240,6 @@ int digsig_verify(struct key *keyring, const char *sig, int siglen, | |||
240 | goto err; | 240 | goto err; |
241 | 241 | ||
242 | desc->tfm = shash; | 242 | desc->tfm = shash; |
243 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
244 | 243 | ||
245 | crypto_shash_init(desc); | 244 | crypto_shash_init(desc); |
246 | crypto_shash_update(desc, data, datalen); | 245 | crypto_shash_update(desc, data, datalen); |
diff --git a/lib/libcrc32c.c b/lib/libcrc32c.c index f0a2934605bf..4e9829c4d64c 100644 --- a/lib/libcrc32c.c +++ b/lib/libcrc32c.c | |||
@@ -47,7 +47,6 @@ u32 crc32c(u32 crc, const void *address, unsigned int length) | |||
47 | int err; | 47 | int err; |
48 | 48 | ||
49 | shash->tfm = tfm; | 49 | shash->tfm = tfm; |
50 | shash->flags = 0; | ||
51 | *ctx = crc; | 50 | *ctx = crc; |
52 | 51 | ||
53 | err = crypto_shash_update(shash, address, length); | 52 | err = crypto_shash_update(shash, address, length); |
diff --git a/net/bluetooth/amp.c b/net/bluetooth/amp.c index 78bec8df8525..aaa39409eeb7 100644 --- a/net/bluetooth/amp.c +++ b/net/bluetooth/amp.c | |||
@@ -161,7 +161,6 @@ static int hmac_sha256(u8 *key, u8 ksize, char *plaintext, u8 psize, u8 *output) | |||
161 | } | 161 | } |
162 | 162 | ||
163 | shash->tfm = tfm; | 163 | shash->tfm = tfm; |
164 | shash->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
165 | 164 | ||
166 | ret = crypto_shash_digest(shash, plaintext, psize, output); | 165 | ret = crypto_shash_digest(shash, plaintext, psize, output); |
167 | 166 | ||
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c index 621146d04c03..e68c715f8d37 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c | |||
@@ -183,7 +183,6 @@ static int aes_cmac(struct crypto_shash *tfm, const u8 k[16], const u8 *m, | |||
183 | } | 183 | } |
184 | 184 | ||
185 | desc->tfm = tfm; | 185 | desc->tfm = tfm; |
186 | desc->flags = 0; | ||
187 | 186 | ||
188 | /* Swap key and message from LSB to MSB */ | 187 | /* Swap key and message from LSB to MSB */ |
189 | swap_buf(k, tmp, 16); | 188 | swap_buf(k, tmp, 16); |
diff --git a/net/sctp/auth.c b/net/sctp/auth.c index 39d72e58b8e5..31569f4809f6 100644 --- a/net/sctp/auth.c +++ b/net/sctp/auth.c | |||
@@ -760,7 +760,6 @@ void sctp_auth_calculate_hmac(const struct sctp_association *asoc, | |||
760 | SHASH_DESC_ON_STACK(desc, tfm); | 760 | SHASH_DESC_ON_STACK(desc, tfm); |
761 | 761 | ||
762 | desc->tfm = tfm; | 762 | desc->tfm = tfm; |
763 | desc->flags = 0; | ||
764 | crypto_shash_digest(desc, (u8 *)auth, | 763 | crypto_shash_digest(desc, (u8 *)auth, |
765 | end - (unsigned char *)auth, digest); | 764 | end - (unsigned char *)auth, digest); |
766 | shash_desc_zero(desc); | 765 | shash_desc_zero(desc); |
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c index d05c57664e36..72e74503f9fc 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c | |||
@@ -1684,7 +1684,6 @@ static struct sctp_cookie_param *sctp_pack_cookie( | |||
1684 | 1684 | ||
1685 | /* Sign the message. */ | 1685 | /* Sign the message. */ |
1686 | desc->tfm = sctp_sk(ep->base.sk)->hmac; | 1686 | desc->tfm = sctp_sk(ep->base.sk)->hmac; |
1687 | desc->flags = 0; | ||
1688 | 1687 | ||
1689 | err = crypto_shash_setkey(desc->tfm, ep->secret_key, | 1688 | err = crypto_shash_setkey(desc->tfm, ep->secret_key, |
1690 | sizeof(ep->secret_key)) ?: | 1689 | sizeof(ep->secret_key)) ?: |
@@ -1755,7 +1754,6 @@ struct sctp_association *sctp_unpack_cookie( | |||
1755 | int err; | 1754 | int err; |
1756 | 1755 | ||
1757 | desc->tfm = sctp_sk(ep->base.sk)->hmac; | 1756 | desc->tfm = sctp_sk(ep->base.sk)->hmac; |
1758 | desc->flags = 0; | ||
1759 | 1757 | ||
1760 | err = crypto_shash_setkey(desc->tfm, ep->secret_key, | 1758 | err = crypto_shash_setkey(desc->tfm, ep->secret_key, |
1761 | sizeof(ep->secret_key)) ?: | 1759 | sizeof(ep->secret_key)) ?: |
diff --git a/net/sunrpc/auth_gss/gss_krb5_crypto.c b/net/sunrpc/auth_gss/gss_krb5_crypto.c index 4f43383971ba..6f2d30d7b766 100644 --- a/net/sunrpc/auth_gss/gss_krb5_crypto.c +++ b/net/sunrpc/auth_gss/gss_krb5_crypto.c | |||
@@ -977,7 +977,6 @@ krb5_rc4_setup_seq_key(struct krb5_ctx *kctx, | |||
977 | } | 977 | } |
978 | 978 | ||
979 | desc->tfm = hmac; | 979 | desc->tfm = hmac; |
980 | desc->flags = 0; | ||
981 | 980 | ||
982 | /* Compute intermediate Kseq from session key */ | 981 | /* Compute intermediate Kseq from session key */ |
983 | err = crypto_shash_setkey(hmac, kctx->Ksess, kctx->gk5e->keylength); | 982 | err = crypto_shash_setkey(hmac, kctx->Ksess, kctx->gk5e->keylength); |
@@ -1045,7 +1044,6 @@ krb5_rc4_setup_enc_key(struct krb5_ctx *kctx, | |||
1045 | } | 1044 | } |
1046 | 1045 | ||
1047 | desc->tfm = hmac; | 1046 | desc->tfm = hmac; |
1048 | desc->flags = 0; | ||
1049 | 1047 | ||
1050 | /* Compute intermediate Kcrypt from session key */ | 1048 | /* Compute intermediate Kcrypt from session key */ |
1051 | for (i = 0; i < kctx->gk5e->keylength; i++) | 1049 | for (i = 0; i < kctx->gk5e->keylength; i++) |
diff --git a/net/sunrpc/auth_gss/gss_krb5_mech.c b/net/sunrpc/auth_gss/gss_krb5_mech.c index 56cc85c5bc06..6e5d6d240215 100644 --- a/net/sunrpc/auth_gss/gss_krb5_mech.c +++ b/net/sunrpc/auth_gss/gss_krb5_mech.c | |||
@@ -438,7 +438,6 @@ context_derive_keys_rc4(struct krb5_ctx *ctx) | |||
438 | } | 438 | } |
439 | 439 | ||
440 | desc->tfm = hmac; | 440 | desc->tfm = hmac; |
441 | desc->flags = 0; | ||
442 | 441 | ||
443 | err = crypto_shash_digest(desc, sigkeyconstant, slen, ctx->cksum); | 442 | err = crypto_shash_digest(desc, sigkeyconstant, slen, ctx->cksum); |
444 | kzfree(desc); | 443 | kzfree(desc); |
diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211_crypt_tkip.c index 35f06563207d..11eaa5956f00 100644 --- a/net/wireless/lib80211_crypt_tkip.c +++ b/net/wireless/lib80211_crypt_tkip.c | |||
@@ -501,7 +501,6 @@ static int michael_mic(struct crypto_shash *tfm_michael, u8 *key, u8 *hdr, | |||
501 | } | 501 | } |
502 | 502 | ||
503 | desc->tfm = tfm_michael; | 503 | desc->tfm = tfm_michael; |
504 | desc->flags = 0; | ||
505 | 504 | ||
506 | if (crypto_shash_setkey(tfm_michael, key, 8)) | 505 | if (crypto_shash_setkey(tfm_michael, key, 8)) |
507 | return -1; | 506 | return -1; |
diff --git a/security/apparmor/crypto.c b/security/apparmor/crypto.c index af03d98c7552..baba63bc66b1 100644 --- a/security/apparmor/crypto.c +++ b/security/apparmor/crypto.c | |||
@@ -43,7 +43,6 @@ char *aa_calc_hash(void *data, size_t len) | |||
43 | goto fail; | 43 | goto fail; |
44 | 44 | ||
45 | desc->tfm = apparmor_tfm; | 45 | desc->tfm = apparmor_tfm; |
46 | desc->flags = 0; | ||
47 | 46 | ||
48 | error = crypto_shash_init(desc); | 47 | error = crypto_shash_init(desc); |
49 | if (error) | 48 | if (error) |
@@ -81,7 +80,6 @@ int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start, | |||
81 | goto fail; | 80 | goto fail; |
82 | 81 | ||
83 | desc->tfm = apparmor_tfm; | 82 | desc->tfm = apparmor_tfm; |
84 | desc->flags = 0; | ||
85 | 83 | ||
86 | error = crypto_shash_init(desc); | 84 | error = crypto_shash_init(desc); |
87 | if (error) | 85 | if (error) |
diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c index c37d08118af5..e11564eb645b 100644 --- a/security/integrity/evm/evm_crypto.c +++ b/security/integrity/evm/evm_crypto.c | |||
@@ -124,7 +124,6 @@ out: | |||
124 | return ERR_PTR(-ENOMEM); | 124 | return ERR_PTR(-ENOMEM); |
125 | 125 | ||
126 | desc->tfm = *tfm; | 126 | desc->tfm = *tfm; |
127 | desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP; | ||
128 | 127 | ||
129 | rc = crypto_shash_init(desc); | 128 | rc = crypto_shash_init(desc); |
130 | if (rc) { | 129 | if (rc) { |
diff --git a/security/integrity/ima/ima_crypto.c b/security/integrity/ima/ima_crypto.c index 16a4f45863b1..a32878e10ebc 100644 --- a/security/integrity/ima/ima_crypto.c +++ b/security/integrity/ima/ima_crypto.c | |||
@@ -333,7 +333,6 @@ static int ima_calc_file_hash_tfm(struct file *file, | |||
333 | SHASH_DESC_ON_STACK(shash, tfm); | 333 | SHASH_DESC_ON_STACK(shash, tfm); |
334 | 334 | ||
335 | shash->tfm = tfm; | 335 | shash->tfm = tfm; |
336 | shash->flags = 0; | ||
337 | 336 | ||
338 | hash->length = crypto_shash_digestsize(tfm); | 337 | hash->length = crypto_shash_digestsize(tfm); |
339 | 338 | ||
@@ -469,7 +468,6 @@ static int ima_calc_field_array_hash_tfm(struct ima_field_data *field_data, | |||
469 | int rc, i; | 468 | int rc, i; |
470 | 469 | ||
471 | shash->tfm = tfm; | 470 | shash->tfm = tfm; |
472 | shash->flags = 0; | ||
473 | 471 | ||
474 | hash->length = crypto_shash_digestsize(tfm); | 472 | hash->length = crypto_shash_digestsize(tfm); |
475 | 473 | ||
@@ -591,7 +589,6 @@ static int calc_buffer_shash_tfm(const void *buf, loff_t size, | |||
591 | int rc; | 589 | int rc; |
592 | 590 | ||
593 | shash->tfm = tfm; | 591 | shash->tfm = tfm; |
594 | shash->flags = 0; | ||
595 | 592 | ||
596 | hash->length = crypto_shash_digestsize(tfm); | 593 | hash->length = crypto_shash_digestsize(tfm); |
597 | 594 | ||
@@ -664,7 +661,6 @@ static int __init ima_calc_boot_aggregate_tfm(char *digest, | |||
664 | SHASH_DESC_ON_STACK(shash, tfm); | 661 | SHASH_DESC_ON_STACK(shash, tfm); |
665 | 662 | ||
666 | shash->tfm = tfm; | 663 | shash->tfm = tfm; |
667 | shash->flags = 0; | ||
668 | 664 | ||
669 | rc = crypto_shash_init(shash); | 665 | rc = crypto_shash_init(shash); |
670 | if (rc != 0) | 666 | if (rc != 0) |
diff --git a/security/keys/dh.c b/security/keys/dh.c index 711e89d8c415..23f95dec771b 100644 --- a/security/keys/dh.c +++ b/security/keys/dh.c | |||
@@ -112,7 +112,6 @@ static int kdf_alloc(struct kdf_sdesc **sdesc_ret, char *hashname) | |||
112 | if (!sdesc) | 112 | if (!sdesc) |
113 | goto out_free_tfm; | 113 | goto out_free_tfm; |
114 | sdesc->shash.tfm = tfm; | 114 | sdesc->shash.tfm = tfm; |
115 | sdesc->shash.flags = 0x0; | ||
116 | 115 | ||
117 | *sdesc_ret = sdesc; | 116 | *sdesc_ret = sdesc; |
118 | 117 | ||
diff --git a/security/keys/encrypted-keys/encrypted.c b/security/keys/encrypted-keys/encrypted.c index 347108f660a1..1b1456b21a93 100644 --- a/security/keys/encrypted-keys/encrypted.c +++ b/security/keys/encrypted-keys/encrypted.c | |||
@@ -333,7 +333,6 @@ static int calc_hash(struct crypto_shash *tfm, u8 *digest, | |||
333 | int err; | 333 | int err; |
334 | 334 | ||
335 | desc->tfm = tfm; | 335 | desc->tfm = tfm; |
336 | desc->flags = 0; | ||
337 | 336 | ||
338 | err = crypto_shash_digest(desc, buf, buflen, digest); | 337 | err = crypto_shash_digest(desc, buf, buflen, digest); |
339 | shash_desc_zero(desc); | 338 | shash_desc_zero(desc); |
diff --git a/security/keys/trusted.c b/security/keys/trusted.c index bcc9c6ead7fd..45ffd9e53937 100644 --- a/security/keys/trusted.c +++ b/security/keys/trusted.c | |||
@@ -55,7 +55,6 @@ static struct sdesc *init_sdesc(struct crypto_shash *alg) | |||
55 | if (!sdesc) | 55 | if (!sdesc) |
56 | return ERR_PTR(-ENOMEM); | 56 | return ERR_PTR(-ENOMEM); |
57 | sdesc->shash.tfm = alg; | 57 | sdesc->shash.tfm = alg; |
58 | sdesc->shash.flags = 0x0; | ||
59 | return sdesc; | 58 | return sdesc; |
60 | } | 59 | } |
61 | 60 | ||