summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-12-18 22:11:54 +0000
committerphk <phk@FreeBSD.org>2002-12-18 22:11:54 +0000
commit790740dde56a2f5e62e3aa9f1c92ee9f984d67ec (patch)
treed0aa5e275286cd1f865f71c45bcd5a3800c77614 /sys
parente0fc35ab9aa517617491628d564a722738f28920 (diff)
downloadFreeBSD-src-790740dde56a2f5e62e3aa9f1c92ee9f984d67ec.zip
FreeBSD-src-790740dde56a2f5e62e3aa9f1c92ee9f984d67ec.tar.gz
Solve another bug in the mapping code: correctly skip lock sectors.
Make sure sector zero is protected if it contains metadata. Lower WARNS for gbde to 3 on non-i386 archs. rijndael-fst is evil but appearntly does the right thing and passes the test-vectors. MFC Candidate.
Diffstat (limited to 'sys')
-rw-r--r--sys/geom/bde/g_bde_crypt.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/geom/bde/g_bde_crypt.c b/sys/geom/bde/g_bde_crypt.c
index 6b5619b..bd368d8 100644
--- a/sys/geom/bde/g_bde_crypt.c
+++ b/sys/geom/bde/g_bde_crypt.c
@@ -280,7 +280,7 @@ g_bde_map_sector(struct g_bde_key *kp,
/* Compensate for lock sectors */
for (u = 0; u < G_BDE_MAXKEYS; u++)
- if (os >= kp->lsector[u])
+ if (os >= (kp->lsector[u] & ~(kp->sectorsize - 1)))
os += kp->sectorsize;
*osector = os;
@@ -292,7 +292,7 @@ g_bde_map_sector(struct g_bde_key *kp,
os += kp->sector0;
for (u = 0; u < G_BDE_MAXKEYS; u++)
- if (os >= kp->lsector[u])
+ if (os >= (kp->lsector[u] & ~(kp->sectorsize - 1)))
os += kp->sectorsize;
*ksector = os;
OpenPOWER on IntegriCloud