mbox series

[v3,00/10] Tegra Security Engine driver improvements

Message ID 20250224091610.49683-1-akhilrajeev@nvidia.com
Headers show
Series Tegra Security Engine driver improvements | expand

Message

Akhil R Feb. 24, 2025, 9:16 a.m. UTC
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.

---
v2->v3:
 * Fixed testbot warnings.
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@nvidia.com/

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  | 401 ++++++++++++++++++---------
 drivers/crypto/tegra/tegra-se-hash.c | 287 ++++++++++++-------
 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, 523 insertions(+), 247 deletions(-)

Comments

Herbert Xu March 8, 2025, 8:29 a.m. UTC | #1
On Mon, Feb 24, 2025 at 02:46:00PM +0530, Akhil R wrote:
> 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.
> 
> ---
> v2->v3:
>  * Fixed testbot warnings.
> 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@nvidia.com/
> 
> 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  | 401 ++++++++++++++++++---------
>  drivers/crypto/tegra/tegra-se-hash.c | 287 ++++++++++++-------
>  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, 523 insertions(+), 247 deletions(-)
> 
> -- 
> 2.43.2

All applied.  Thanks.