diff options
author | Mateusz Guzik <mjg@FreeBSD.org> | 2022-02-16 07:45:12 +0000 |
---|---|---|
committer | Mateusz Guzik <mjg@FreeBSD.org> | 2022-02-16 07:45:12 +0000 |
commit | 70439285ad9d5ec8ebdb1cf8617e8f30ea31b2e2 (patch) | |
tree | 48ddb615698a4d05b121f7b0ef31edaa0e6fe0e2 | |
parent | 61a68e50d436333396ffd2e1d6a4b5d2875f8118 (diff) | |
download | src-70439285ad9d5ec8ebdb1cf8617e8f30ea31b2e2.tar.gz src-70439285ad9d5ec8ebdb1cf8617e8f30ea31b2e2.zip |
crypto: hide crypto_destroyreq behind a tunable
Reviewed by: jhb, markj
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D32084
-rw-r--r-- | sys/opencrypto/crypto.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/opencrypto/crypto.c b/sys/opencrypto/crypto.c index 0b2c250a7af2..fde1316595e5 100644 --- a/sys/opencrypto/crypto.c +++ b/sys/opencrypto/crypto.c @@ -202,6 +202,13 @@ SYSCTL_INT(_kern, OID_AUTO, cryptodevallowsoft, CTLFLAG_RWTUN, "Enable/disable use of software crypto by /dev/crypto"); #endif +#ifdef DIAGNOSTIC +bool crypto_destroyreq_check; +SYSCTL_BOOL(_kern_crypto, OID_AUTO, destroyreq_check, CTLFLAG_RWTUN, + &crypto_destroyreq_check, 0, + "Enable checks when destroying a request"); +#endif + MALLOC_DEFINE(M_CRYPTO_DATA, "crypto", "crypto session records"); static void crypto_dispatch_thread(void *arg); @@ -1580,6 +1587,9 @@ crypto_destroyreq(struct cryptop *crp) struct cryptop *crp2; struct crypto_ret_worker *ret_worker; + if (!crypto_destroyreq_check) + return; + CRYPTO_Q_LOCK(); TAILQ_FOREACH(crp2, &crp_q, crp_next) { KASSERT(crp2 != crp, |