This series is targeting libcrypto-next. It can also be retrieved from:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git curve25519-v2
This series removes the unused crypto_kpp support for Curve25519,
migrates curve25519-selftest to a KUnit test suite, and reorganizes the
generic and arch-optimized Curve25519 code to all be located in
lib/crypto/ and built into a single libcurve25519 module.
Changed from v1:
- Split kpp removal into multiple patches
- Don't select CRYPTO_LIB_CURVE25519_GENERIC from KUnit test
- Removed unnecessary parameter from hpre_ecc_clear_ctx()
- Removed unnecessary 'return' from arm curve25519_base_arch()
- Updated file comment in lib/crypto/curve25519.c
- Made kconfig help text for KUnit test more consistent with other tests
- Used initializer in test_curve25519()
- Removed unnecessary newlines from messages in test_curve25519()
- Use NSEC_PER_SEC instead of literal 1000000000
- Added an Acked-by
Eric Biggers (12):
crypto: hisilicon/hpre - Remove unused curve25519 kpp support
crypto: arm/curve25519 - Remove unused kpp support
crypto: powerpc/curve25519 - Remove unused kpp support
crypto: x86/curve25519 - Remove unused kpp support
crypto: testmgr - Remove curve25519 kpp tests
crypto: curve25519 - Remove unused kpp support
lib/crypto: tests: Migrate Curve25519 self-test to KUnit
lib/crypto: tests: Add Curve25519 benchmark
lib/crypto: curve25519: Move a couple functions out-of-line
lib/crypto: curve25519: Consolidate into single module
lib/crypto: tests: Enable Curve25519 test when CRYPTO_SELFTESTS
wireguard: kconfig: Simplify crypto kconfig selections
arch/arm/crypto/Kconfig | 13 -
arch/arm/crypto/Makefile | 2 -
arch/arm/crypto/curve25519-glue.c | 137 --
arch/m68k/configs/amiga_defconfig | 1 -
arch/m68k/configs/apollo_defconfig | 1 -
arch/m68k/configs/atari_defconfig | 1 -
arch/m68k/configs/bvme6000_defconfig | 1 -
arch/m68k/configs/hp300_defconfig | 1 -
arch/m68k/configs/mac_defconfig | 1 -
arch/m68k/configs/multi_defconfig | 1 -
arch/m68k/configs/mvme147_defconfig | 1 -
arch/m68k/configs/mvme16x_defconfig | 1 -
arch/m68k/configs/q40_defconfig | 1 -
arch/m68k/configs/sun3_defconfig | 1 -
arch/m68k/configs/sun3x_defconfig | 1 -
arch/powerpc/crypto/Kconfig | 13 -
arch/powerpc/crypto/Makefile | 2 -
arch/s390/configs/debug_defconfig | 1 -
arch/s390/configs/defconfig | 1 -
arch/x86/crypto/Kconfig | 13 -
arch/x86/crypto/Makefile | 5 -
crypto/Kconfig | 8 -
crypto/Makefile | 1 -
crypto/curve25519-generic.c | 91 --
crypto/testmgr.c | 6 -
crypto/testmgr.h | 1225 -----------------
drivers/crypto/hisilicon/Kconfig | 1 -
drivers/crypto/hisilicon/hpre/hpre_crypto.c | 403 +-----
drivers/net/Kconfig | 15 +-
include/crypto/curve25519.h | 40 +-
lib/crypto/Kconfig | 37 +-
lib/crypto/Makefile | 27 +-
.../crypto/arm}/curve25519-core.S | 0
lib/crypto/arm/curve25519.h | 47 +
lib/crypto/curve25519-generic.c | 25 -
lib/crypto/curve25519.c | 69 +-
.../crypto/powerpc}/curve25519-ppc64le_asm.S | 0
.../crypto/powerpc/curve25519.h | 124 +-
lib/crypto/tests/Kconfig | 9 +
lib/crypto/tests/Makefile | 1 +
.../curve25519_kunit.c} | 99 +-
.../crypto/x86/curve25519.h | 127 +-
42 files changed, 236 insertions(+), 2318 deletions(-)
delete mode 100644 arch/arm/crypto/curve25519-glue.c
delete mode 100644 crypto/curve25519-generic.c
rename {arch/arm/crypto => lib/crypto/arm}/curve25519-core.S (100%)
create mode 100644 lib/crypto/arm/curve25519.h
delete mode 100644 lib/crypto/curve25519-generic.c
rename {arch/powerpc/crypto => lib/crypto/powerpc}/curve25519-ppc64le_asm.S (100%)
rename arch/powerpc/crypto/curve25519-ppc64le-core.c => lib/crypto/powerpc/curve25519.h (56%)
rename lib/crypto/{curve25519-selftest.c => tests/curve25519_kunit.c} (96%)
rename arch/x86/crypto/curve25519-x86_64.c => lib/crypto/x86/curve25519.h (94%)
base-commit: 362f92286065d9f8282da5def89e173a12191568
--
2.50.1