diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2025-10-08 15:24:12 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2025-10-08 15:24:12 +0000 |
| commit | e63bf6aa523eb9a865b7ce34d01e75a13818b367 (patch) | |
| tree | bbf61311a7e9168788960929aefaa7a601ce4704 | |
| parent | 79042fd7ed4187d2a74e37618f6fd77f448ca353 (diff) | |
cryptocheck: Be friendlier when testing software crypto backends
- Fail loudly if we can't change the kern.crypto.allow_soft sysctl.
- Add more drivers to the list.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D52490
| -rw-r--r-- | tools/tools/crypto/cryptocheck.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/tools/crypto/cryptocheck.c b/tools/tools/crypto/cryptocheck.c index 6506671455ac..46a364b0453c 100644 --- a/tools/tools/crypto/cryptocheck.c +++ b/tools/tools/crypto/cryptocheck.c @@ -362,9 +362,11 @@ enable_user_soft(void) size_t cursize = sizeof(curstate); if (sysctlbyname(CRYPT_SOFT_ALLOW, &curstate, &cursize, - &on, sizeof(on)) == 0) { + &on, sizeof(on)) == 0) { if (curstate == 0) atexit(reset_user_soft); + } else { + err(1, "sysctl(%s)", CRYPT_SOFT_ALLOW); } } @@ -373,7 +375,10 @@ crlookup(const char *devname) { struct crypt_find_op find; - if (strncmp(devname, "soft", 4) == 0) { + if (strncmp(devname, "soft", 4) == 0 || + strncmp(devname, "ossl", 4) == 0 || + strncmp(devname, "aesni", 5) == 0 || + strncmp(devname, "armv8crypto", 11) == 0) { enable_user_soft(); return CRYPTO_FLAG_SOFTWARE; } |
