summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2006-06-04 22:17:25 +0000
committerpjd <pjd@FreeBSD.org>2006-06-04 22:17:25 +0000
commit36f6d629b7291704eaedd81a0e36747e1f0fc119 (patch)
tree878181f1a5267ea4f91f06c287607f8ab57020e2 /sys/dev
parentf055dbf32be7adc2e1a1c946748849d8bc8817cb (diff)
downloadFreeBSD-src-36f6d629b7291704eaedd81a0e36747e1f0fc119.zip
FreeBSD-src-36f6d629b7291704eaedd81a0e36747e1f0fc119.tar.gz
Use newly added functions to simplify the code.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/hifn/hifn7751.c53
-rw-r--r--sys/dev/safe/safe.c52
-rw-r--r--sys/dev/ubsec/ubsec.c46
3 files changed, 43 insertions, 108 deletions
diff --git a/sys/dev/hifn/hifn7751.c b/sys/dev/hifn/hifn7751.c
index 7dddd53..de92ce7 100644
--- a/sys/dev/hifn/hifn7751.c
+++ b/sys/dev/hifn/hifn7751.c
@@ -2541,24 +2541,18 @@ hifn_process(void *arg, struct cryptop *crp, int hint)
if ((enccrd->crd_flags & CRD_F_IV_PRESENT)
== 0) {
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copyback(cmd->src_m,
- enccrd->crd_inject,
- ivlen, cmd->iv);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copyback(cmd->src_io,
- enccrd->crd_inject,
- ivlen, cmd->iv);
+ crypto_copyback(crp->crp_flags,
+ crp->crp_buf, enccrd->crd_inject,
+ ivlen, cmd->iv);
}
} else {
if (enccrd->crd_flags & CRD_F_IV_EXPLICIT)
bcopy(enccrd->crd_iv, cmd->iv, ivlen);
- else if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copydata(cmd->src_m,
- enccrd->crd_inject, ivlen, cmd->iv);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copydata(cmd->src_io,
- enccrd->crd_inject, ivlen, cmd->iv);
+ else {
+ crypto_copydata(crp->crp_flags,
+ crp->crp_buf, enccrd->crd_inject,
+ ivlen, cmd->iv);
+ }
}
}
@@ -2769,14 +2763,9 @@ hifn_callback(struct hifn_softc *sc, struct hifn_command *cmd, u_int8_t *macbuf)
}
if (cmd->sloplen != 0) {
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copyback((struct mbuf *)crp->crp_buf,
- cmd->src_mapsize - cmd->sloplen,
- cmd->sloplen, (caddr_t)&dma->slop[cmd->slopidx]);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copyback((struct uio *)crp->crp_buf,
- cmd->src_mapsize - cmd->sloplen,
- cmd->sloplen, (caddr_t)&dma->slop[cmd->slopidx]);
+ crypto_copyback(crp->crp_flags, crp->crp_buf,
+ cmd->src_mapsize - cmd->sloplen, cmd->sloplen,
+ (caddr_t)&dma->slop[cmd->slopidx]);
}
i = dma->dstk; u = dma->dstu;
@@ -2805,15 +2794,9 @@ hifn_callback(struct hifn_softc *sc, struct hifn_command *cmd, u_int8_t *macbuf)
continue;
ivlen = ((crd->crd_alg == CRYPTO_AES_CBC) ?
HIFN_AES_IV_LENGTH : HIFN_IV_LENGTH);
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copydata((struct mbuf *)crp->crp_buf,
- crd->crd_skip + crd->crd_len - ivlen, ivlen,
- cmd->softc->sc_sessions[cmd->session_num].hs_iv);
- else if (crp->crp_flags & CRYPTO_F_IOV) {
- cuio_copydata((struct uio *)crp->crp_buf,
- crd->crd_skip + crd->crd_len - ivlen, ivlen,
- cmd->softc->sc_sessions[cmd->session_num].hs_iv);
- }
+ crypto_copydata(crp->crp_flags, crp->crp_buf,
+ crd->crd_skip + crd->crd_len - ivlen, ivlen,
+ cmd->softc->sc_sessions[cmd->session_num].hs_iv);
break;
}
}
@@ -2829,12 +2812,8 @@ hifn_callback(struct hifn_softc *sc, struct hifn_command *cmd, u_int8_t *macbuf)
continue;
}
len = cmd->softc->sc_sessions[cmd->session_num].hs_mlen;
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copyback((struct mbuf *)crp->crp_buf,
- crd->crd_inject, len, macbuf);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copyback((struct uio *)crp->crp_buf,
- crd->crd_inject, len, macbuf);
+ crypto_copyback(crp->crp_flags, crp->crp_buf,
+ crd->crd_inject, len, macbuf);
break;
}
}
diff --git a/sys/dev/safe/safe.c b/sys/dev/safe/safe.c
index 0908b23..ff0a029 100644
--- a/sys/dev/safe/safe.c
+++ b/sys/dev/safe/safe.c
@@ -1016,12 +1016,8 @@ safe_process(void *arg, struct cryptop *crp, int hint)
else
iv = (caddr_t) ses->ses_iv;
if ((enccrd->crd_flags & CRD_F_IV_PRESENT) == 0) {
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copyback(re->re_src_m,
- enccrd->crd_inject, ivsize, iv);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copyback(re->re_src_io,
- enccrd->crd_inject, ivsize, iv);
+ crypto_copyback(crp->crp_flags, crp->crp_buf,
+ enccrd->crd_inject, ivsize, iv);
}
bcopy(iv, re->re_sastate.sa_saved_iv, ivsize);
cmd0 |= SAFE_SA_CMD0_IVLD_STATE | SAFE_SA_CMD0_SAVEIV;
@@ -1029,17 +1025,14 @@ safe_process(void *arg, struct cryptop *crp, int hint)
} else {
cmd0 |= SAFE_SA_CMD0_INBOUND;
- if (enccrd->crd_flags & CRD_F_IV_EXPLICIT)
+ if (enccrd->crd_flags & CRD_F_IV_EXPLICIT) {
bcopy(enccrd->crd_iv,
re->re_sastate.sa_saved_iv, ivsize);
- else if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copydata(re->re_src_m, enccrd->crd_inject,
- ivsize,
- (caddr_t)re->re_sastate.sa_saved_iv);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copydata(re->re_src_io, enccrd->crd_inject,
- ivsize,
- (caddr_t)re->re_sastate.sa_saved_iv);
+ } else {
+ crypto_copydata(crp->crp_flags, crp->crp_buf,
+ enccrd->crd_inject, ivsize,
+ (caddr_t)re->re_sastate.sa_saved_iv);
+ }
cmd0 |= SAFE_SA_CMD0_IVLD_STATE;
}
/*
@@ -1567,17 +1560,9 @@ safe_callback(struct safe_softc *sc, struct safe_ringentry *re)
ivsize = 4*sizeof(u_int32_t);
} else
continue;
- if (crp->crp_flags & CRYPTO_F_IMBUF) {
- m_copydata((struct mbuf *)crp->crp_buf,
- crd->crd_skip + crd->crd_len - ivsize,
- ivsize,
- (caddr_t) sc->sc_sessions[re->re_sesn].ses_iv);
- } else if (crp->crp_flags & CRYPTO_F_IOV) {
- cuio_copydata((struct uio *)crp->crp_buf,
- crd->crd_skip + crd->crd_len - ivsize,
- ivsize,
- (caddr_t)sc->sc_sessions[re->re_sesn].ses_iv);
- }
+ crypto_copydata(crp->crp_flags, crp->crp_buf,
+ crd->crd_skip + crd->crd_len - ivsize, ivsize,
+ (caddr_t)sc->sc_sessions[re->re_sesn].ses_iv);
break;
}
}
@@ -1598,17 +1583,10 @@ safe_callback(struct safe_softc *sc, struct safe_ringentry *re)
bswap32(re->re_sastate.sa_saved_indigest[1]);
bswap32(re->re_sastate.sa_saved_indigest[2]);
}
- if (crp->crp_flags & CRYPTO_F_IMBUF) {
- m_copyback((struct mbuf *)crp->crp_buf,
- crd->crd_inject,
- sc->sc_sessions[re->re_sesn].ses_mlen,
- (caddr_t)re->re_sastate.sa_saved_indigest);
- } else if (crp->crp_flags & CRYPTO_F_IOV) {
- cuio_copyback((struct uio *)crp->crp_buf,
- crd->crd_inject,
- sc->sc_sessions[re->re_sesn].ses_mlen,
- (caddr_t)re->re_sastate.sa_saved_indigest);
- }
+ crypto_copyback(crp->crp_flags, crp->crp_buf,
+ crd->crd_inject,
+ sc->sc_sessions[re->re_sesn].ses_mlen,
+ (caddr_t)re->re_sastate.sa_saved_indigest);
break;
}
}
diff --git a/sys/dev/ubsec/ubsec.c b/sys/dev/ubsec/ubsec.c
index 342b1b9..e8ea638 100644
--- a/sys/dev/ubsec/ubsec.c
+++ b/sys/dev/ubsec/ubsec.c
@@ -1159,27 +1159,18 @@ ubsec_process(void *arg, struct cryptop *crp, int hint)
}
if ((enccrd->crd_flags & CRD_F_IV_PRESENT) == 0) {
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copyback(q->q_src_m,
- enccrd->crd_inject,
- 8, (caddr_t)ctx.pc_iv);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copyback(q->q_src_io,
- enccrd->crd_inject,
- 8, (caddr_t)ctx.pc_iv);
+ crypto_copyback(crp->crp_flags, crp->crp_buf,
+ enccrd->crd_inject, 8, (caddr_t)ctx.pc_iv);
}
} else {
ctx.pc_flags |= htole16(UBS_PKTCTX_INBOUND);
if (enccrd->crd_flags & CRD_F_IV_EXPLICIT)
bcopy(enccrd->crd_iv, ctx.pc_iv, 8);
- else if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copydata(q->q_src_m, enccrd->crd_inject,
- 8, (caddr_t)ctx.pc_iv);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copydata(q->q_src_io,
- enccrd->crd_inject, 8,
- (caddr_t)ctx.pc_iv);
+ else {
+ crypto_copydata(crp->crp_flags, crp->crp_buf,
+ enccrd->crd_inject, 8, (caddr_t)ctx.pc_iv);
+ }
}
ctx.pc_deskey[0] = ses->ses_deskey[0];
@@ -1614,15 +1605,9 @@ ubsec_callback(struct ubsec_softc *sc, struct ubsec_q *q)
if (crd->crd_alg != CRYPTO_DES_CBC &&
crd->crd_alg != CRYPTO_3DES_CBC)
continue;
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copydata((struct mbuf *)crp->crp_buf,
- crd->crd_skip + crd->crd_len - 8, 8,
- (caddr_t)sc->sc_sessions[q->q_sesn].ses_iv);
- else if (crp->crp_flags & CRYPTO_F_IOV) {
- cuio_copydata((struct uio *)crp->crp_buf,
- crd->crd_skip + crd->crd_len - 8, 8,
- (caddr_t)sc->sc_sessions[q->q_sesn].ses_iv);
- }
+ crypto_copydata(crp->crp_flags, crp->crp_buf,
+ crd->crd_skip + crd->crd_len - 8, 8,
+ (caddr_t)sc->sc_sessions[q->q_sesn].ses_iv);
break;
}
}
@@ -1631,16 +1616,9 @@ ubsec_callback(struct ubsec_softc *sc, struct ubsec_q *q)
if (crd->crd_alg != CRYPTO_MD5_HMAC &&
crd->crd_alg != CRYPTO_SHA1_HMAC)
continue;
- if (crp->crp_flags & CRYPTO_F_IMBUF)
- m_copyback((struct mbuf *)crp->crp_buf,
- crd->crd_inject,
- sc->sc_sessions[q->q_sesn].ses_mlen,
- (caddr_t)dmap->d_dma->d_macbuf);
- else if (crp->crp_flags & CRYPTO_F_IOV)
- cuio_copyback((struct uio *)crp->crp_buf,
- crd->crd_inject,
- sc->sc_sessions[q->q_sesn].ses_mlen,
- (caddr_t)dmap->d_dma->d_macbuf);
+ crypto_copyback(crp->crp_flags, crp->crp_buf, crd->crd_inject,
+ sc->sc_sessions[q->q_sesn].ses_mlen,
+ (caddr_t)dmap->d_dma->d_macbuf);
break;
}
mtx_lock(&sc->sc_freeqlock);
OpenPOWER on IntegriCloud