Page MenuHomeFreeBSD

D31170.id92164.diff
No OneTemporary

D31170.id92164.diff

Index: sys/geom/eli/g_eli_integrity.c
===================================================================
--- sys/geom/eli/g_eli_integrity.c
+++ sys/geom/eli/g_eli_integrity.c
@@ -515,6 +515,17 @@
if (bp->bio_cmd == BIO_WRITE)
memset(data + sc->sc_alen + data_secsize, 0,
encr_secsize - sc->sc_alen - data_secsize);
+ } else if (data_secsize + sc->sc_alen != encr_secsize) {
+ /*
+ * If the HMAC size is not a multiple of 128 bits, the
+ * per-sector data size is rounded down to ensure that
+ * encryption can be performed without requiring any
+ * padding. In this case, each sector contains unused
+ * bytes.
+ */
+ if (bp->bio_cmd == BIO_WRITE)
+ memset(data + sc->sc_alen + data_secsize, 0,
+ encr_secsize - sc->sc_alen - data_secsize);
}
if (bp->bio_cmd == BIO_WRITE) {

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 9, 9:00 AM (3 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28560606
Default Alt Text
D31170.id92164.diff (836 B)

Event Timeline