svn commit: r360935 - head/sys/opencrypto
Kristof Provost
kp at FreeBSD.org
Mon May 11 21:42:19 UTC 2020
Author: kp
Date: Mon May 11 21:42:19 2020
New Revision: 360935
URL: https://svnweb.freebsd.org/changeset/base/360935
Log:
opencrypto: Add missing ioctl exit SDTs
The opencrypto ioctl code has very useful probe points at the various exit
points. These allow us to figure out exactly why a request failed. However, a
few paths did not have these probe points. Add them here.
Reviewed by: jhb
Modified:
head/sys/opencrypto/cryptodev.c
Modified: head/sys/opencrypto/cryptodev.c
==============================================================================
--- head/sys/opencrypto/cryptodev.c Mon May 11 21:39:02 2020 (r360934)
+++ head/sys/opencrypto/cryptodev.c Mon May 11 21:42:19 2020 (r360935)
@@ -465,6 +465,8 @@ cryptof_ioctl(
/* Should always be paired with GCM. */
if (sop->cipher != CRYPTO_AES_NIST_GCM_16) {
CRYPTDEB("GMAC without GCM");
+ SDT_PROBE1(opencrypto, dev, ioctl, error,
+ __LINE__);
return (EINVAL);
}
break;
@@ -539,8 +541,10 @@ cryptof_ioctl(
return (EINVAL);
}
- if (txform == NULL && thash == NULL)
+ if (txform == NULL && thash == NULL) {
+ SDT_PROBE1(opencrypto, dev, ioctl, error, __LINE__);
return (EINVAL);
+ }
memset(&csp, 0, sizeof(csp));
@@ -550,13 +554,18 @@ cryptof_ioctl(
case CRYPTO_AES_128_NIST_GMAC:
case CRYPTO_AES_192_NIST_GMAC:
case CRYPTO_AES_256_NIST_GMAC:
- if (sop->keylen != sop->mackeylen)
+ if (sop->keylen != sop->mackeylen) {
+ SDT_PROBE1(opencrypto, dev, ioctl,
+ error, __LINE__);
return (EINVAL);
+ }
break;
#endif
case 0:
break;
default:
+ SDT_PROBE1(opencrypto, dev, ioctl, error,
+ __LINE__);
return (EINVAL);
}
csp.csp_mode = CSP_MODE_AEAD;
@@ -564,14 +573,19 @@ cryptof_ioctl(
switch (sop->mac) {
#ifdef COMPAT_FREEBSD12
case CRYPTO_AES_CCM_CBC_MAC:
- if (sop->keylen != sop->mackeylen)
+ if (sop->keylen != sop->mackeylen) {
+ SDT_PROBE1(opencrypto, dev, ioctl,
+ error, __LINE__);
return (EINVAL);
+ }
thash = NULL;
break;
#endif
case 0:
break;
default:
+ SDT_PROBE1(opencrypto, dev, ioctl, error,
+ __LINE__);
return (EINVAL);
}
csp.csp_mode = CSP_MODE_AEAD;
More information about the svn-src-all
mailing list