Files
android_kernel_xiaomi_sm8450/include/linux
Eric Biggers 877b5691f2 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>
2019-04-25 15:38:12 +08:00
..
2018-11-14 10:56:33 -08:00
2019-02-15 16:47:55 +02:00
2018-10-16 11:13:50 +02:00
2018-11-12 10:33:49 +01:00
2019-02-28 09:16:12 +01:00
2019-02-08 22:39:01 -08:00
2019-03-06 10:46:29 -08:00
2019-02-24 08:20:17 -07:00
2019-01-24 11:11:45 -07:00
2018-11-07 13:44:59 -07:00
2018-11-07 13:44:59 -07:00
2019-02-15 08:40:12 -07:00
2019-02-01 20:55:38 +01:00
2019-02-27 17:22:50 +01:00
2019-02-01 20:55:38 +01:00
2018-11-13 21:55:24 +01:00
2019-02-28 03:28:53 -05:00
2019-03-12 18:59:17 -07:00
2019-02-28 08:24:23 -07:00
2018-12-19 10:42:08 +01:00
2019-03-12 10:04:02 -07:00
2019-03-05 21:07:16 -08:00
2019-02-15 16:54:38 +01:00
2019-03-12 10:04:00 -07:00
2018-10-21 10:46:33 -04:00
2018-12-07 12:59:08 -08:00
2019-03-09 19:52:47 -08:00
2018-11-07 13:42:32 -07:00
2019-02-24 08:20:17 -07:00
2018-11-19 19:03:46 -07:00
2018-12-06 13:57:03 +01:00
2018-11-30 13:29:04 +00:00
2019-01-11 20:51:24 +01:00
2019-03-07 18:32:03 -08:00
2019-01-04 13:13:48 -08:00
2019-03-12 10:04:01 -07:00
2019-01-30 20:51:47 -05:00
2018-10-17 13:56:58 -07:00
2019-02-20 07:22:17 -07:00
2019-02-20 07:22:10 -07:00
2018-12-06 15:45:46 +01:00
2019-02-08 15:02:49 -08:00
2019-03-05 21:07:19 -08:00
2018-10-21 10:46:39 -04:00
2018-10-26 16:26:35 -07:00
2019-03-03 21:47:57 -08:00
2019-02-01 02:01:45 -05:00
2018-10-08 22:53:10 +11:00
2019-03-12 10:04:03 -07:00
2018-12-03 17:11:02 -08:00
2019-01-07 16:38:26 +01:00
2019-02-25 21:20:45 +01:00
2019-02-03 11:17:31 -08:00
2019-02-07 16:38:35 +01:00
2018-10-11 09:16:44 -07:00
2019-02-07 00:13:27 +01:00
2018-12-10 10:17:45 +01:00
2019-01-11 18:05:40 -08:00
2019-02-26 12:53:55 +01:00
2018-12-22 12:15:29 +01:00