git: e63bf6aa523e - main - cryptocheck: Be friendlier when testing software crypto backends

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Wed, 08 Oct 2025 15:24:44 UTC
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=e63bf6aa523eb9a865b7ce34d01e75a13818b367

commit e63bf6aa523eb9a865b7ce34d01e75a13818b367
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-10-08 15:24:12 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-10-08 15:24:12 +0000

    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
---
 tools/tools/crypto/cryptocheck.c | 9 +++++++--
 1 file 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;
 	}