aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2025-10-08 15:24:12 +0000
committerMark Johnston <markj@FreeBSD.org>2025-10-08 15:24:12 +0000
commite63bf6aa523eb9a865b7ce34d01e75a13818b367 (patch)
treebbf61311a7e9168788960929aefaa7a601ce4704
parent79042fd7ed4187d2a74e37618f6fd77f448ca353 (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.c9
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;
}