diff options
author | phk <phk@FreeBSD.org> | 2002-12-18 22:11:54 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-12-18 22:11:54 +0000 |
commit | 790740dde56a2f5e62e3aa9f1c92ee9f984d67ec (patch) | |
tree | d0aa5e275286cd1f865f71c45bcd5a3800c77614 /sys | |
parent | e0fc35ab9aa517617491628d564a722738f28920 (diff) | |
download | FreeBSD-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.c | 4 |
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; |