linux-loongson/arch/s390/purgatory
Eric Biggers b86ced882b lib/crypto: sha256: Make library API use strongly-typed contexts
Currently the SHA-224 and SHA-256 library functions can be mixed
arbitrarily, even in ways that are incorrect, for example using
sha224_init() and sha256_final().  This is because they operate on the
same structure, sha256_state.

Introduce stronger typing, as I did for SHA-384 and SHA-512.

Also as I did for SHA-384 and SHA-512, use the names *_ctx instead of
*_state.  The *_ctx names have the following small benefits:

- They're shorter.
- They avoid an ambiguity with the compression function state.
- They're consistent with the well-known OpenSSL API.
- Users usually name the variable 'sctx' anyway, which suggests that
  *_ctx would be the more natural name for the actual struct.

Therefore: update the SHA-224 and SHA-256 APIs, implementation, and
calling code accordingly.

In the new structs, also strongly-type the compression function state.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250630160645.3198-7-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
2025-07-04 10:18:53 -07:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
head.S s390: Fix various typos 2024-10-25 16:03:23 +02:00
kexec-purgatory.S s390/purgatory: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:18 +02:00
Makefile s390/purgatory: Use -D__DISABLE_EXPORTS 2025-02-18 18:49:24 +01:00
purgatory.c lib/crypto: sha256: Make library API use strongly-typed contexts 2025-07-04 10:18:53 -07:00
purgatory.lds.S s390/purgatory: Reduce purgatory size 2019-04-29 10:43:53 +02:00
string.c s390/purgatory: do not build purgatory with kcov, kasan and friends 2019-12-18 23:29:26 +01:00