diff options
author | pjd <pjd@FreeBSD.org> | 2010-09-23 11:23:10 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2010-09-23 11:23:10 +0000 |
commit | 8c781f88d0ac500c14265e79152e83ab458a7968 (patch) | |
tree | ef099a9b1b06c19361a19f4cd05dd25fe03af64f /sys/geom | |
parent | 72f42997786a1469dba5815edb3b45f26a59a850 (diff) | |
download | FreeBSD-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.c | 7 |
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; |