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; }