On Fri, Jun 13, 2025 at 01:38:59PM +0800, Herbert Xu wrote: > On Thu, Jun 12, 2025 at 10:36:24PM -0700, Eric Biggers wrote: > > > > You do know that most of the sha512 asynchronous hash drivers use custom state > > formats and not your new one, right? So your code in ahash_do_req_chain() is > > broken for most asynchronous hash drivers anyway. > > Every driver needs to be converted by hand. Once a driver has > been converted it'll be marked as block-only which activates > the fallback path in ahash. Actually, crypto_ahash::base::fb is initialized if CRYPTO_ALG_NEED_FALLBACK, which many of the drivers already set. Then crypto_ahash_update() calls ahash_do_req_chain() if the algorithm does *not* have CRYPTO_AHASH_ALG_BLOCK_ONLY set. Which then exports the driver's custom state and tries to import it into the fallback. As far as I can tell, it's just broken for most of the existing drivers. - Eric