Page MenuHomeFreeBSD

D12272.id32811.diff
No OneTemporary

D12272.id32811.diff

Index: sys/geom/eli/g_eli_integrity.c
===================================================================
--- sys/geom/eli/g_eli_integrity.c
+++ sys/geom/eli/g_eli_integrity.c
@@ -463,8 +463,16 @@
authkey = (u_char *)p; p += G_ELI_AUTH_SECKEYLEN;
data_secsize = sc->sc_data_per_sector;
- if ((i % lsec) == 0)
+ if ((i % lsec) == 0) {
data_secsize = decr_secsize % data_secsize;
+ /*
+ * Last encrypted sector of each decrypted sector is
+ * only partially filled.
+ */
+ 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_READ) {
/* Remember read HMAC. */

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 9, 4:45 AM (2 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28539232
Default Alt Text
D12272.id32811.diff (703 B)

Event Timeline