ok?

Index: crypto.c
===================================================================
RCS file: /cvs/src/sys/crypto/crypto.c,v
retrieving revision 1.67
diff -u -p -r1.67 crypto.c
--- crypto.c    14 Sep 2014 14:17:23 -0000      1.67
+++ crypto.c    20 Oct 2014 00:26:56 -0000
@@ -220,15 +220,12 @@ crypto_get_driverid(u_int8_t flags)
        if (crypto_drivers_num == 0) {
                crypto_drivers_num = CRYPTO_DRIVERS_INITIAL;
                crypto_drivers = mallocarray(crypto_drivers_num,
-                   sizeof(struct cryptocap), M_CRYPTO_DATA, M_NOWAIT);
+                   sizeof(struct cryptocap), M_CRYPTO_DATA, M_NOWAIT | M_ZERO);
                if (crypto_drivers == NULL) {
                        crypto_drivers_num = 0;
                        splx(s);
                        return -1;
                }
-
-               bzero(crypto_drivers, crypto_drivers_num *
-                   sizeof(struct cryptocap));
        }
 
        for (i = 0; i < crypto_drivers_num; i++) {
@@ -484,22 +481,20 @@ crypto_getreq(int num)
        
        s = splvm();
 
-       crp = pool_get(&cryptop_pool, PR_NOWAIT);
+       crp = pool_get(&cryptop_pool, PR_NOWAIT | PR_ZERO);
        if (crp == NULL) {
                splx(s);
                return NULL;
        }
-       bzero(crp, sizeof(struct cryptop));
 
        while (num--) {
-               crd = pool_get(&cryptodesc_pool, PR_NOWAIT);
+               crd = pool_get(&cryptodesc_pool, PR_NOWAIT | PR_ZERO);
                if (crd == NULL) {
                        splx(s);
                        crypto_freereq(crp);
                        return NULL;
                }
 
-               bzero(crd, sizeof(struct cryptodesc));
                crd->crd_next = crp->crp_desc;
                crp->crp_desc = crd;
        }

Reply via email to