Module Name: src
Committed By: knakahara
Date: Tue May 2 03:17:43 UTC 2017
Modified Files:
src/sys/opencrypto: crypto.c
Log Message:
add some assertion. tested by ATF net/ipsec/ and crypto/.
To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/opencrypto/crypto.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/opencrypto/crypto.c
diff -u src/sys/opencrypto/crypto.c:1.58 src/sys/opencrypto/crypto.c:1.59
--- src/sys/opencrypto/crypto.c:1.58 Wed Apr 26 03:29:36 2017
+++ src/sys/opencrypto/crypto.c Tue May 2 03:17:43 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: crypto.c,v 1.58 2017/04/26 03:29:36 knakahara Exp $ */
+/* $NetBSD: crypto.c,v 1.59 2017/05/02 03:17:43 knakahara Exp $ */
/* $FreeBSD: src/sys/opencrypto/crypto.c,v 1.4.2.5 2003/02/26 00:14:05 sam Exp $ */
/* $OpenBSD: crypto.c,v 1.41 2002/07/17 23:52:38 art Exp $ */
@@ -53,7 +53,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: crypto.c,v 1.58 2017/04/26 03:29:36 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: crypto.c,v 1.59 2017/05/02 03:17:43 knakahara Exp $");
#include <sys/param.h>
#include <sys/reboot.h>
@@ -739,9 +739,13 @@ crypto_unblock(u_int32_t driverid, int w
int
crypto_dispatch(struct cryptop *crp)
{
- u_int32_t hid = CRYPTO_SESID2HID(crp->crp_sid);
+ u_int32_t hid;
int result;
+ KASSERT(crp != NULL);
+
+ hid = CRYPTO_SESID2HID(crp->crp_sid);
+
mutex_spin_enter(&crypto_q_mtx);
DPRINTF(("crypto_dispatch: crp %p, alg %d\n",
crp, crp->crp_desc->crd_alg));
@@ -825,6 +829,8 @@ crypto_kdispatch(struct cryptkop *krp)
struct cryptocap *cap;
int result;
+ KASSERT(krp != NULL);
+
mutex_spin_enter(&crypto_q_mtx);
cryptostats.cs_kops++;
@@ -873,9 +879,9 @@ crypto_kinvoke(struct cryptkop *krp, int
u_int32_t hid;
int error;
+ KASSERT(krp != NULL);
+
/* Sanity checks. */
- if (krp == NULL)
- return EINVAL;
if (krp->krp_callback == NULL) {
cv_destroy(&krp->krp_cv);
pool_put(&cryptkop_pool, krp);
@@ -947,13 +953,13 @@ crypto_invoke(struct cryptop *crp, int h
{
u_int32_t hid;
+ KASSERT(crp != NULL);
+
#ifdef CRYPTO_TIMING
if (crypto_timing)
crypto_tstat(&cryptostats.cs_invoke, &crp->crp_tstamp);
#endif
/* Sanity checks. */
- if (crp == NULL)
- return EINVAL;
if (crp->crp_callback == NULL) {
return EINVAL;
}
@@ -1063,6 +1069,8 @@ crypto_done(struct cryptop *crp)
{
int wasempty;
+ KASSERT(crp != NULL);
+
if (crp->crp_etype != 0)
cryptostats.cs_errs++;
#ifdef CRYPTO_TIMING
@@ -1145,6 +1153,8 @@ crypto_kdone(struct cryptkop *krp)
{
int wasempty;
+ KASSERT(krp != NULL);
+
if (krp->krp_status != 0)
cryptostats.cs_kerrs++;