Author: pjd
Date: Thu Oct 21 12:58:26 2010
New Revision: 214133
URL: http://svn.freebsd.org/changeset/base/214133

Log:
  Fix a bug introduced in r213067 where we use authentication key before
  initializing it.

Modified:
  head/sys/geom/eli/g_eli.c

Modified: head/sys/geom/eli/g_eli.c
==============================================================================
--- head/sys/geom/eli/g_eli.c   Thu Oct 21 12:27:13 2010        (r214132)
+++ head/sys/geom/eli/g_eli.c   Thu Oct 21 12:58:26 2010        (r214133)
@@ -686,14 +686,6 @@ g_eli_create(struct gctl_req *req, struc
                sc->sc_bytes_per_sector =
                    (md->md_sectorsize - 1) / sc->sc_data_per_sector + 1;
                sc->sc_bytes_per_sector *= bpp->sectorsize;
-               /*
-                * Precalculate SHA256 for HMAC key generation.
-                * This is expensive operation and we can do it only once now or
-                * for every access to sector, so now will be much better.
-                */
-               SHA256_Init(&sc->sc_akeyctx);
-               SHA256_Update(&sc->sc_akeyctx, sc->sc_akey,
-                   sizeof(sc->sc_akey));
        }
 
        gp->softc = sc;
@@ -753,7 +745,16 @@ g_eli_create(struct gctl_req *req, struc
         */
        g_eli_mkey_propagate(sc, mkey);
        sc->sc_ekeylen = md->md_keylen;
-
+       if (sc->sc_flags & G_ELI_FLAG_AUTH) {
+               /*
+                * Precalculate SHA256 for HMAC key generation.
+                * This is expensive operation and we can do it only once now or
+                * for every access to sector, so now will be much better.
+                */
+               SHA256_Init(&sc->sc_akeyctx);
+               SHA256_Update(&sc->sc_akeyctx, sc->sc_akey,
+                   sizeof(sc->sc_akey));
+       }
        /*
         * Precalculate SHA256 for IV generation.
         * This is expensive operation and we can do it only once now or for
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to