summaryrefslogtreecommitdiffstats
path: root/sys/geom
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2010-09-23 11:23:10 +0000
committerpjd <pjd@FreeBSD.org>2010-09-23 11:23:10 +0000
commit8c781f88d0ac500c14265e79152e83ab458a7968 (patch)
treeef099a9b1b06c19361a19f4cd05dd25fe03af64f /sys/geom
parent72f42997786a1469dba5815edb3b45f26a59a850 (diff)
downloadFreeBSD-src-8c781f88d0ac500c14265e79152e83ab458a7968.zip
FreeBSD-src-8c781f88d0ac500c14265e79152e83ab458a7968.tar.gz
Make the code similar to the code in g_eli_integrity.c.
MFC after: 1 week
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/eli/g_eli_privacy.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/geom/eli/g_eli_privacy.c b/sys/geom/eli/g_eli_privacy.c
index 94cc4fc..5951747 100644
--- a/sys/geom/eli/g_eli_privacy.c
+++ b/sys/geom/eli/g_eli_privacy.c
@@ -175,8 +175,9 @@ g_eli_crypto_run(struct g_eli_worker *wr, struct bio *bp)
struct cryptodesc *crd;
struct uio *uio;
struct iovec *iov;
- u_int i, nsec, add, secsize;
+ u_int i, nsec, secsize;
int err, error;
+ off_t dstoff;
size_t size;
u_char *p, *data;
@@ -219,7 +220,7 @@ g_eli_crypto_run(struct g_eli_worker *wr, struct bio *bp)
}
error = 0;
- for (i = 0, add = 0; i < nsec; i++, add += secsize) {
+ for (i = 0, dstoff = bp->bio_offset; i < nsec; i++, dstoff += secsize) {
crp = (struct cryptop *)p; p += sizeof(*crp);
crd = (struct cryptodesc *)p; p += sizeof(*crd);
uio = (struct uio *)p; p += sizeof(*uio);
@@ -256,7 +257,7 @@ g_eli_crypto_run(struct g_eli_worker *wr, struct bio *bp)
crd->crd_alg = sc->sc_ealgo;
crd->crd_key = sc->sc_ekey;
crd->crd_klen = sc->sc_ekeylen;
- g_eli_crypto_ivgen(sc, bp->bio_offset + add, crd->crd_iv,
+ g_eli_crypto_ivgen(sc, dstoff, crd->crd_iv,
sizeof(crd->crd_iv));
crd->crd_next = NULL;
OpenPOWER on IntegriCloud