With the CRYPTO_TEST now being run asynchronously unveiled some concurrency issues in the Security Engine driver. These were not caught during functional or fuzz testing as all the tests were run synchronously. This patchset contains the fixes for the concurrency issues and few other improvements identified during the stress-ng and cryptsetup tests. --- v1->v2: * Added patch to handle the scenario when keyslots are full * Added patch to finalize crypto request which was not called in some error cases. v1: https://lore.kernel.org/lkml/20241217161207.72921-1-akhilrajeev@xxxxxxxxxx/ Akhil R (10): crypto: tegra: Use separate buffer for setkey crypto: tegra: Do not use fixed size buffers crypto: tegra: finalize crypto req on error crypto: tegra: check return value for hash do_one_req crypto: tegra: Transfer HASH init function to crypto engine crypto: tegra: Fix HASH intermediate result handling crypto: tegra: Fix CMAC intermediate result handling crypto: tegra: Set IV to NULL explicitly for AES ECB crypto: tegra: Reserve keyslots to allocate dynamically crypto: tegra: Use HMAC fallback when keyslots are full drivers/crypto/tegra/tegra-se-aes.c | 400 ++++++++++++++++++--------- drivers/crypto/tegra/tegra-se-hash.c | 285 ++++++++++++------- drivers/crypto/tegra/tegra-se-key.c | 27 +- drivers/crypto/tegra/tegra-se-main.c | 16 +- drivers/crypto/tegra/tegra-se.h | 39 ++- 5 files changed, 522 insertions(+), 245 deletions(-) -- 2.43.2