On Thu, May 29, 2025 at 11:05:26AM -0600, Alex Williamson wrote:
On Mon, 28 Apr 2025 10:00:33 -0700
Eric Biggers [off-list ref] wrote:
quoted
From: Eric Biggers <redacted>
Instead of providing crypto_shash algorithms for the arch-optimized
SHA-256 code, instead implement the SHA-256 library. This is much
simpler, it makes the SHA-256 library functions be arch-optimized, and
it fixes the longstanding issue where the arch-optimized SHA-256 was
disabled by default. SHA-256 still remains available through
crypto_shash, but individual architectures no longer need to handle it.
I can get to the following error after this patch, now merged as commit
b9eac03edcf8 ("crypto: s390/sha256 - implement library instead of shash"):
error: the following would cause module name conflict:
crypto/sha256.ko
arch/s390/lib/crypto/sha256.ko
Thanks for reporting this. For now the s390 one should be renamed to
sha256-s390, similar to how the other architectures' sha256 modules are named.
I'll send a patch.
Long-term, I'd like to find a clean way to consolidate the library code for each
algorithm into a single module. So instead of e.g. libsha256.ko,
libsha256-generic.ko, and sha256-s390.ko (all of which get loaded when the
SHA-256 library is needed), we'd just have libsha256.ko. (Or just sha256.ko,
with the old-school crypto API one renamed to sha256-cryptoapi.ko.) A lot of
these weird build problems we've been having are caused by the unnecessary
separation into multiple modules.
- Eric