mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
lib/crypto: tests: Migrate ChaCha20Poly1305 self-test to KUnit
Move the ChaCha20Poly1305 test from an ad-hoc self-test to a KUnit test. Keep the same test logic for now, just translated to KUnit. Moving to KUnit has multiple benefits, such as: - Consistency with the rest of the lib/crypto/ tests. - Kernel developers familiar with KUnit, which is used kernel-wide, can quickly understand the test and how to enable and run it. - The test will be automatically run by anyone using lib/crypto/.kunitconfig or KUnit's all_tests.config. - Results are reported using the standard KUnit mechanism. - It eliminates one of the few remaining back-references to crypto/ from lib/crypto/, specifically a reference to CONFIG_CRYPTO_SELFTESTS. Acked-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20260327224229.137532-1-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org>
This commit is contained in:
parent
23e5c306a2
commit
d2a68aba85
|
|
@ -46,6 +46,4 @@ bool chacha20poly1305_decrypt_sg_inplace(struct scatterlist *src, size_t src_len
|
|||
const u64 nonce,
|
||||
const u8 key[at_least CHACHA20POLY1305_KEY_SIZE]);
|
||||
|
||||
bool chacha20poly1305_selftest(void);
|
||||
|
||||
#endif /* __CHACHA20POLY1305_H */
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ CONFIG_CRYPTO_LIB_ENABLE_ALL_FOR_KUNIT=y
|
|||
CONFIG_CRYPTO_LIB_AES_CBC_MACS_KUNIT_TEST=y
|
||||
CONFIG_CRYPTO_LIB_BLAKE2B_KUNIT_TEST=y
|
||||
CONFIG_CRYPTO_LIB_BLAKE2S_KUNIT_TEST=y
|
||||
CONFIG_CRYPTO_LIB_CHACHA20POLY1305_KUNIT_TEST=y
|
||||
CONFIG_CRYPTO_LIB_CURVE25519_KUNIT_TEST=y
|
||||
CONFIG_CRYPTO_LIB_GHASH_KUNIT_TEST=y
|
||||
CONFIG_CRYPTO_LIB_MD5_KUNIT_TEST=y
|
||||
|
|
|
|||
|
|
@ -122,7 +122,6 @@ endif # CONFIG_CRYPTO_LIB_CHACHA_ARCH
|
|||
|
||||
obj-$(CONFIG_CRYPTO_LIB_CHACHA20POLY1305) += libchacha20poly1305.o
|
||||
libchacha20poly1305-y += chacha20poly1305.o
|
||||
libchacha20poly1305-$(CONFIG_CRYPTO_SELFTESTS) += chacha20poly1305-selftest.o
|
||||
|
||||
################################################################################
|
||||
|
||||
|
|
|
|||
|
|
@ -356,20 +356,6 @@ bool chacha20poly1305_decrypt_sg_inplace(struct scatterlist *src, size_t src_len
|
|||
}
|
||||
EXPORT_SYMBOL(chacha20poly1305_decrypt_sg_inplace);
|
||||
|
||||
static int __init chacha20poly1305_init(void)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_CRYPTO_SELFTESTS) &&
|
||||
WARN_ON(!chacha20poly1305_selftest()))
|
||||
return -ENODEV;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit chacha20poly1305_exit(void)
|
||||
{
|
||||
}
|
||||
|
||||
module_init(chacha20poly1305_init);
|
||||
module_exit(chacha20poly1305_exit);
|
||||
MODULE_LICENSE("GPL v2");
|
||||
MODULE_DESCRIPTION("ChaCha20Poly1305 AEAD construction");
|
||||
MODULE_AUTHOR("Jason A. Donenfeld <Jason@zx2c4.com>");
|
||||
|
|
|
|||
|
|
@ -27,6 +27,15 @@ config CRYPTO_LIB_BLAKE2S_KUNIT_TEST
|
|||
help
|
||||
KUnit tests for the BLAKE2s cryptographic hash function.
|
||||
|
||||
config CRYPTO_LIB_CHACHA20POLY1305_KUNIT_TEST
|
||||
tristate "KUnit tests for ChaCha20Poly1305" if !KUNIT_ALL_TESTS
|
||||
depends on KUNIT && CRYPTO_LIB_CHACHA20POLY1305
|
||||
default KUNIT_ALL_TESTS
|
||||
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
||||
help
|
||||
KUnit tests for the ChaCha20Poly1305 authenticated encryption
|
||||
algorithm.
|
||||
|
||||
config CRYPTO_LIB_CURVE25519_KUNIT_TEST
|
||||
tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS
|
||||
depends on KUNIT && CRYPTO_LIB_CURVE25519
|
||||
|
|
@ -137,6 +146,7 @@ config CRYPTO_LIB_ENABLE_ALL_FOR_KUNIT
|
|||
depends on KUNIT
|
||||
select CRYPTO_LIB_AES_CBC_MACS
|
||||
select CRYPTO_LIB_BLAKE2B
|
||||
select CRYPTO_LIB_CHACHA20POLY1305
|
||||
select CRYPTO_LIB_CURVE25519
|
||||
select CRYPTO_LIB_GF128HASH
|
||||
select CRYPTO_LIB_MD5
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
obj-$(CONFIG_CRYPTO_LIB_AES_CBC_MACS_KUNIT_TEST) += aes_cbc_macs_kunit.o
|
||||
obj-$(CONFIG_CRYPTO_LIB_BLAKE2B_KUNIT_TEST) += blake2b_kunit.o
|
||||
obj-$(CONFIG_CRYPTO_LIB_BLAKE2S_KUNIT_TEST) += blake2s_kunit.o
|
||||
obj-$(CONFIG_CRYPTO_LIB_CHACHA20POLY1305_KUNIT_TEST) += chacha20poly1305_kunit.o
|
||||
obj-$(CONFIG_CRYPTO_LIB_CURVE25519_KUNIT_TEST) += curve25519_kunit.o
|
||||
obj-$(CONFIG_CRYPTO_LIB_GHASH_KUNIT_TEST) += ghash_kunit.o
|
||||
obj-$(CONFIG_CRYPTO_LIB_MD5_KUNIT_TEST) += md5_kunit.o
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user