[PATCH v2 0/5] lib/crypto: KUnit tests for AES-CCM and AES-GCM

Eric Biggers posted 5 patches 2 months ago
lib/crypto/.kunitconfig                   |    2 +
lib/crypto/tests/Kconfig                  |   18 +
lib/crypto/tests/Makefile                 |    2 +
lib/crypto/tests/aead-test-template.h     | 1039 +++++++++++++++++++++
lib/crypto/tests/aes_cbc_macs_kunit.c     |   12 +-
lib/crypto/tests/aes_ccm_kunit.c          |  356 +++++++
lib/crypto/tests/aes_gcm_kunit.c          |  472 ++++++++++
lib/crypto/tests/blake2b_kunit.c          |   33 +-
lib/crypto/tests/blake2s_kunit.c          |   33 +-
lib/crypto/tests/chacha20poly1305_kunit.c |    9 +-
lib/crypto/tests/ghash_kunit.c            |   37 +-
lib/crypto/tests/hash-test-template.h     |  249 ++---
lib/crypto/tests/md5_kunit.c              |    2 -
lib/crypto/tests/mldsa_kunit.c            |   19 +-
lib/crypto/tests/nh_kunit.c               |    5 +-
lib/crypto/tests/poly1305_kunit.c         |   21 +-
lib/crypto/tests/polyval_kunit.c          |   38 +-
lib/crypto/tests/sha1_kunit.c             |    2 -
lib/crypto/tests/sha224_kunit.c           |    2 -
lib/crypto/tests/sha256_kunit.c           |   48 +-
lib/crypto/tests/sha384_kunit.c           |    2 -
lib/crypto/tests/sha3_kunit.c             |   30 +-
lib/crypto/tests/sha512_kunit.c           |    2 -
lib/crypto/tests/sm3_kunit.c              |    2 -
lib/crypto/tests/test-utils.h             |  111 +++
scripts/crypto/gen-aead-testvecs.py       |   69 ++
26 files changed, 2275 insertions(+), 340 deletions(-)
create mode 100644 lib/crypto/tests/aead-test-template.h
create mode 100644 lib/crypto/tests/aes_ccm_kunit.c
create mode 100644 lib/crypto/tests/aes_gcm_kunit.c
create mode 100644 lib/crypto/tests/test-utils.h
create mode 100755 scripts/crypto/gen-aead-testvecs.py
[PATCH v2 0/5] lib/crypto: KUnit tests for AES-CCM and AES-GCM
Posted by Eric Biggers 2 months ago
This series applies to libcrypto-next.  It can also be retrieved from:

    git fetch https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git gcm-ccm-kunit-v2

This series adds comprehensive KUnit test suites for the AES-CCM and
AES-GCM library APIs.

This is a follow-up to the series
"[PATCH v2 00/13] Library APIs for AES encryption modes"
(https://lore.kernel.org/linux-crypto/20260715221153.246410-1-ebiggers@kernel.org/)

Changed in v2:
  - Fixed crash in test_aes_ccm_data_len_too_large() on 32-bit kernels.

Eric Biggers (5):
  lib/crypto: tests: Create test-utils.h
  lib/crypto: tests: Use per-test-case buffers in hash tests
  lib/crypto: tests: Add aead-test-template.h
  lib/crypto: tests: Add KUnit test suite for AES-CCM
  lib/crypto: tests: Add KUnit test suite for AES-GCM

 lib/crypto/.kunitconfig                   |    2 +
 lib/crypto/tests/Kconfig                  |   18 +
 lib/crypto/tests/Makefile                 |    2 +
 lib/crypto/tests/aead-test-template.h     | 1039 +++++++++++++++++++++
 lib/crypto/tests/aes_cbc_macs_kunit.c     |   12 +-
 lib/crypto/tests/aes_ccm_kunit.c          |  356 +++++++
 lib/crypto/tests/aes_gcm_kunit.c          |  472 ++++++++++
 lib/crypto/tests/blake2b_kunit.c          |   33 +-
 lib/crypto/tests/blake2s_kunit.c          |   33 +-
 lib/crypto/tests/chacha20poly1305_kunit.c |    9 +-
 lib/crypto/tests/ghash_kunit.c            |   37 +-
 lib/crypto/tests/hash-test-template.h     |  249 ++---
 lib/crypto/tests/md5_kunit.c              |    2 -
 lib/crypto/tests/mldsa_kunit.c            |   19 +-
 lib/crypto/tests/nh_kunit.c               |    5 +-
 lib/crypto/tests/poly1305_kunit.c         |   21 +-
 lib/crypto/tests/polyval_kunit.c          |   38 +-
 lib/crypto/tests/sha1_kunit.c             |    2 -
 lib/crypto/tests/sha224_kunit.c           |    2 -
 lib/crypto/tests/sha256_kunit.c           |   48 +-
 lib/crypto/tests/sha384_kunit.c           |    2 -
 lib/crypto/tests/sha3_kunit.c             |   30 +-
 lib/crypto/tests/sha512_kunit.c           |    2 -
 lib/crypto/tests/sm3_kunit.c              |    2 -
 lib/crypto/tests/test-utils.h             |  111 +++
 scripts/crypto/gen-aead-testvecs.py       |   69 ++
 26 files changed, 2275 insertions(+), 340 deletions(-)
 create mode 100644 lib/crypto/tests/aead-test-template.h
 create mode 100644 lib/crypto/tests/aes_ccm_kunit.c
 create mode 100644 lib/crypto/tests/aes_gcm_kunit.c
 create mode 100644 lib/crypto/tests/test-utils.h
 create mode 100755 scripts/crypto/gen-aead-testvecs.py


base-commit: 6d22ec26295c1412d765e3d687e46224fc332928
-- 
2.55.0
Re: [PATCH v2 0/5] lib/crypto: KUnit tests for AES-CCM and AES-GCM
Posted by Ard Biesheuvel 1 month, 4 weeks ago

On Mon, 3 Aug 2026, at 02:30, Eric Biggers wrote:
> This series applies to libcrypto-next.  It can also be retrieved from:
>
>     git fetch 
> https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git 
> gcm-ccm-kunit-v2
>
> This series adds comprehensive KUnit test suites for the AES-CCM and
> AES-GCM library APIs.
>
> This is a follow-up to the series
> "[PATCH v2 00/13] Library APIs for AES encryption modes"
> (https://lore.kernel.org/linux-crypto/20260715221153.246410-1-ebiggers@kernel.org/)
>
> Changed in v2:
>   - Fixed crash in test_aes_ccm_data_len_too_large() on 32-bit kernels.
>
> Eric Biggers (5):
>   lib/crypto: tests: Create test-utils.h
>   lib/crypto: tests: Use per-test-case buffers in hash tests
>   lib/crypto: tests: Add aead-test-template.h
>   lib/crypto: tests: Add KUnit test suite for AES-CCM
>   lib/crypto: tests: Add KUnit test suite for AES-GCM
>

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Re: [PATCH v2 0/5] lib/crypto: KUnit tests for AES-CCM and AES-GCM
Posted by Eric Biggers 1 month, 3 weeks ago
On Sun, Aug 02, 2026 at 04:30:00PM -0700, Eric Biggers wrote:
> This series applies to libcrypto-next.  It can also be retrieved from:
> 
>     git fetch https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git gcm-ccm-kunit-v2
> 
> This series adds comprehensive KUnit test suites for the AES-CCM and
> AES-GCM library APIs.
> 
> This is a follow-up to the series
> "[PATCH v2 00/13] Library APIs for AES encryption modes"
> (https://lore.kernel.org/linux-crypto/20260715221153.246410-1-ebiggers@kernel.org/)
> 
> Changed in v2:
>   - Fixed crash in test_aes_ccm_data_len_too_large() on 32-bit kernels.
> 
> Eric Biggers (5):
>   lib/crypto: tests: Create test-utils.h
>   lib/crypto: tests: Use per-test-case buffers in hash tests
>   lib/crypto: tests: Add aead-test-template.h
>   lib/crypto: tests: Add KUnit test suite for AES-CCM
>   lib/crypto: tests: Add KUnit test suite for AES-GCM

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/log/?h=libcrypto-next

- Eric