]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
lib/crypto: tests: Migrate Curve25519 self-test to KUnit
authorEric Biggers <ebiggers@kernel.org>
Sat, 6 Sep 2025 21:35:18 +0000 (14:35 -0700)
committerEric Biggers <ebiggers@kernel.org>
Sat, 6 Sep 2025 23:32:19 +0000 (16:32 -0700)
commitafc4e4a5f122183b38095daba2264123cc86d8ab
tree980b33a12d88dd858c60dce24c57eac088839c4c
parent09e7652ddb688488a2954f1168b7f40e037694a4
lib/crypto: tests: Migrate Curve25519 self-test to KUnit

Move the Curve25519 test from an ad-hoc self-test to a KUnit test.

Generally keep the same test logic for now, just translated to KUnit.
There's one exception, which is that I dropped the incomplete test of
curve25519_generic().  The approach I'm taking to cover the different
implementations with the KUnit tests is to just rely on booting kernels
in QEMU with different '-cpu' options, rather than try to make the tests
(incompletely) test multiple implementations on one CPU.  This way, both
the test and the library API are simpler.

This commit makes the file lib/crypto/curve25519.c no longer needed, as
its only purpose was to call the self-test.  However, keep it for now,
since a later commit will add code to it again.

Temporarily omit the default value of CRYPTO_SELFTESTS that the other
lib/crypto/ KUnit tests have.  It would cause a recursive kconfig
dependency, since the Curve25519 code is still entangled with CRYPTO.  A
later commit will fix that.

Link: https://lore.kernel.org/r/20250906213523.84915-8-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
include/crypto/curve25519.h
lib/crypto/Makefile
lib/crypto/curve25519.c
lib/crypto/tests/Kconfig
lib/crypto/tests/Makefile
lib/crypto/tests/curve25519_kunit.c [moved from lib/crypto/curve25519-selftest.c with 97% similarity]