Module Name: src
Committed By: christos
Date: Sun Feb 10 17:13:33 UTC 2019
Modified Files:
src/sys/dev/dmover: dmover_io.c
src/sys/dev/ic: ncr53c9x.c wd33c93.c
src/sys/dev/raidframe: rf_alloclist.c rf_callback.c rf_dagutils.c
rf_diskqueue.c rf_map.c rf_psstatus.c
src/sys/kern: kern_time.c subr_pool.c sys_aio.c vfs_dirhash.c
src/sys/sys: pool.h
Log Message:
Introduce PR_ZERO to avoid open-coding memset()s everywhere. OK riastradh@.
To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/dmover/dmover_io.c
cvs rdiff -u -r1.150 -r1.151 src/sys/dev/ic/ncr53c9x.c
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/ic/wd33c93.c
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/raidframe/rf_alloclist.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/raidframe/rf_callback.c
cvs rdiff -u -r1.55 -r1.56 src/sys/dev/raidframe/rf_dagutils.c
cvs rdiff -u -r1.54 -r1.55 src/sys/dev/raidframe/rf_diskqueue.c
cvs rdiff -u -r1.48 -r1.49 src/sys/dev/raidframe/rf_map.c
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/raidframe/rf_psstatus.c
cvs rdiff -u -r1.194 -r1.195 src/sys/kern/kern_time.c
cvs rdiff -u -r1.231 -r1.232 src/sys/kern/subr_pool.c
cvs rdiff -u -r1.43 -r1.44 src/sys/kern/sys_aio.c
cvs rdiff -u -r1.12 -r1.13 src/sys/kern/vfs_dirhash.c
cvs rdiff -u -r1.83 -r1.84 src/sys/sys/pool.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/dmover/dmover_io.c
diff -u src/sys/dev/dmover/dmover_io.c:1.45 src/sys/dev/dmover/dmover_io.c:1.46
--- src/sys/dev/dmover/dmover_io.c:1.45 Thu Nov 30 15:25:55 2017
+++ src/sys/dev/dmover/dmover_io.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: dmover_io.c,v 1.45 2017/11/30 20:25:55 christos Exp $ */
+/* $NetBSD: dmover_io.c,v 1.46 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 2002, 2003 Wasabi Systems, Inc.
@@ -55,7 +55,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dmover_io.c,v 1.45 2017/11/30 20:25:55 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dmover_io.c,v 1.46 2019/02/10 17:13:33 christos Exp $");
#include <sys/param.h>
#include <sys/queue.h>
@@ -180,9 +180,7 @@ dmio_state_get(void)
{
struct dmio_state *ds;
- ds = pool_get(&dmio_state_pool, PR_WAITOK);
-
- memset(ds, 0, sizeof(*ds));
+ ds = pool_get(&dmio_state_pool, PR_WAITOK | PR_ZERO);
getnanotime(&ds->ds_btime);
ds->ds_atime = ds->ds_mtime = ds->ds_btime;
Index: src/sys/dev/ic/ncr53c9x.c
diff -u src/sys/dev/ic/ncr53c9x.c:1.150 src/sys/dev/ic/ncr53c9x.c:1.151
--- src/sys/dev/ic/ncr53c9x.c:1.150 Sat Feb 2 22:19:27 2019
+++ src/sys/dev/ic/ncr53c9x.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ncr53c9x.c,v 1.150 2019/02/03 03:19:27 mrg Exp $ */
+/* $NetBSD: ncr53c9x.c,v 1.151 2019/02/10 17:13:33 christos Exp $ */
/*-
* Copyright (c) 1998, 2002 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ncr53c9x.c,v 1.150 2019/02/03 03:19:27 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ncr53c9x.c,v 1.151 2019/02/10 17:13:33 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -843,12 +843,10 @@ ncr53c9x_get_ecb(struct ncr53c9x_softc *
int s;
s = splbio();
- ecb = pool_get(&ecb_pool, PR_NOWAIT);
- splx(s);
- if (ecb) {
- memset(ecb, 0, sizeof(*ecb));
+ ecb = pool_get(&ecb_pool, PR_NOWAIT | PR_ZERO);
+ if (ecb)
ecb->flags |= ECB_ALLOC;
- }
+ splx(s);
return ecb;
}
Index: src/sys/dev/ic/wd33c93.c
diff -u src/sys/dev/ic/wd33c93.c:1.27 src/sys/dev/ic/wd33c93.c:1.28
--- src/sys/dev/ic/wd33c93.c:1.27 Thu Feb 8 04:05:19 2018
+++ src/sys/dev/ic/wd33c93.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: wd33c93.c,v 1.27 2018/02/08 09:05:19 dholland Exp $ */
+/* $NetBSD: wd33c93.c,v 1.28 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1990 The Regents of the University of California.
@@ -79,7 +79,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wd33c93.c,v 1.27 2018/02/08 09:05:19 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wd33c93.c,v 1.28 2019/02/10 17:13:33 christos Exp $");
#include "opt_ddb.h"
@@ -570,7 +570,7 @@ wd33c93_scsi_request(struct scsipi_chann
panic("wd33c93_scsicmd: busy");
s = splbio();
- acb = (struct wd33c93_acb *)pool_get(&wd33c93_pool, PR_NOWAIT);
+ acb = pool_get(&wd33c93_pool, PR_NOWAIT);
splx(s);
if (acb == NULL) {
Index: src/sys/dev/raidframe/rf_alloclist.c
diff -u src/sys/dev/raidframe/rf_alloclist.c:1.27 src/sys/dev/raidframe/rf_alloclist.c:1.28
--- src/sys/dev/raidframe/rf_alloclist.c:1.27 Fri Feb 8 22:33:59 2019
+++ src/sys/dev/raidframe/rf_alloclist.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_alloclist.c,v 1.27 2019/02/09 03:33:59 christos Exp $ */
+/* $NetBSD: rf_alloclist.c,v 1.28 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -37,7 +37,7 @@
***************************************************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_alloclist.c,v 1.27 2019/02/09 03:33:59 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_alloclist.c,v 1.28 2019/02/10 17:13:33 christos Exp $");
#include <dev/raidframe/raidframevar.h>
@@ -122,9 +122,5 @@ rf_FreeAllocList(RF_AllocListElem_t *l)
RF_AllocListElem_t *
rf_real_MakeAllocList(void)
{
- RF_AllocListElem_t *p;
-
- p = pool_get(&rf_pools.alloclist, PR_WAITOK);
- memset(p, 0, sizeof(*p));
- return (p);
+ return pool_get(&rf_pools.alloclist, PR_WAITOK | PR_ZERO);
}
Index: src/sys/dev/raidframe/rf_callback.c
diff -u src/sys/dev/raidframe/rf_callback.c:1.22 src/sys/dev/raidframe/rf_callback.c:1.23
--- src/sys/dev/raidframe/rf_callback.c:1.22 Sun Mar 15 13:17:23 2009
+++ src/sys/dev/raidframe/rf_callback.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_callback.c,v 1.22 2009/03/15 17:17:23 cegger Exp $ */
+/* $NetBSD: rf_callback.c,v 1.23 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -34,7 +34,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_callback.c,v 1.22 2009/03/15 17:17:23 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_callback.c,v 1.23 2019/02/10 17:13:33 christos Exp $");
#include <dev/raidframe/raidframevar.h>
#include <sys/pool.h>
@@ -71,10 +71,7 @@ rf_ConfigureCallback(RF_ShutdownList_t *
RF_CallbackDesc_t *
rf_AllocCallbackDesc(void)
{
- RF_CallbackDesc_t *p;
-
- p = pool_get(&rf_pools.callback, PR_WAITOK);
- return (p);
+ return pool_get(&rf_pools.callback, PR_WAITOK);
}
void
Index: src/sys/dev/raidframe/rf_dagutils.c
diff -u src/sys/dev/raidframe/rf_dagutils.c:1.55 src/sys/dev/raidframe/rf_dagutils.c:1.56
--- src/sys/dev/raidframe/rf_dagutils.c:1.55 Fri Feb 8 22:34:00 2019
+++ src/sys/dev/raidframe/rf_dagutils.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_dagutils.c,v 1.55 2019/02/09 03:34:00 christos Exp $ */
+/* $NetBSD: rf_dagutils.c,v 1.56 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -33,7 +33,7 @@
*****************************************************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_dagutils.c,v 1.55 2019/02/09 03:34:00 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_dagutils.c,v 1.56 2019/02/10 17:13:33 christos Exp $");
#include <dev/raidframe/raidframevar.h>
@@ -254,11 +254,7 @@ rf_ConfigureDAGs(RF_ShutdownList_t **lis
RF_DagHeader_t *
rf_AllocDAGHeader(void)
{
- RF_DagHeader_t *dh;
-
- dh = pool_get(&rf_pools.dagh, PR_WAITOK);
- memset(dh, 0, sizeof(*dh));
- return (dh);
+ return pool_get(&rf_pools.dagh, PR_WAITOK | PR_ZERO);
}
void
@@ -270,11 +266,7 @@ rf_FreeDAGHeader(RF_DagHeader_t * dh)
RF_DagNode_t *
rf_AllocDAGNode(void)
{
- RF_DagNode_t *node;
-
- node = pool_get(&rf_pools.dagnode, PR_WAITOK);
- memset(node, 0, sizeof(*node));
- return (node);
+ return pool_get(&rf_pools.dagnode, PR_WAITOK | PR_ZERO);
}
void
@@ -292,12 +284,7 @@ rf_FreeDAGNode(RF_DagNode_t *node)
RF_DagList_t *
rf_AllocDAGList(void)
{
- RF_DagList_t *dagList;
-
- dagList = pool_get(&rf_pools.daglist, PR_WAITOK);
- memset(dagList, 0, sizeof(*dagList));
-
- return (dagList);
+ return pool_get(&rf_pools.daglist, PR_WAITOK | PR_ZERO);
}
void
@@ -309,11 +296,7 @@ rf_FreeDAGList(RF_DagList_t *dagList)
void *
rf_AllocDAGPCache(void)
{
- void *p;
- p = pool_get(&rf_pools.dagpcache, PR_WAITOK);
- memset(p, 0, RF_DAGPCACHE_SIZE);
-
- return (p);
+ return pool_get(&rf_pools.dagpcache, PR_WAITOK | PR_ZERO);
}
void
@@ -325,12 +308,7 @@ rf_FreeDAGPCache(void *p)
RF_FuncList_t *
rf_AllocFuncList(void)
{
- RF_FuncList_t *funcList;
-
- funcList = pool_get(&rf_pools.funclist, PR_WAITOK);
- memset(funcList, 0, sizeof(*funcList));
-
- return (funcList);
+ return pool_get(&rf_pools.funclist, PR_WAITOK | PR_ZERO);
}
void
Index: src/sys/dev/raidframe/rf_diskqueue.c
diff -u src/sys/dev/raidframe/rf_diskqueue.c:1.54 src/sys/dev/raidframe/rf_diskqueue.c:1.55
--- src/sys/dev/raidframe/rf_diskqueue.c:1.54 Fri Feb 8 22:34:00 2019
+++ src/sys/dev/raidframe/rf_diskqueue.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_diskqueue.c,v 1.54 2019/02/09 03:34:00 christos Exp $ */
+/* $NetBSD: rf_diskqueue.c,v 1.55 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -66,7 +66,7 @@
****************************************************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_diskqueue.c,v 1.54 2019/02/09 03:34:00 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_diskqueue.c,v 1.55 2019/02/10 17:13:33 christos Exp $");
#include <dev/raidframe/raidframevar.h>
@@ -367,11 +367,10 @@ rf_CreateDiskQueueData(RF_IoType_t typ,
{
RF_DiskQueueData_t *p;
- p = pool_get(&rf_pools.dqd, waitflag);
+ p = pool_get(&rf_pools.dqd, waitflag | PR_ZERO);
if (p == NULL)
return (NULL);
- memset(p, 0, sizeof(*p));
if (waitflag == PR_WAITOK) {
p->bp = getiobuf(NULL, true);
} else {
Index: src/sys/dev/raidframe/rf_map.c
diff -u src/sys/dev/raidframe/rf_map.c:1.48 src/sys/dev/raidframe/rf_map.c:1.49
--- src/sys/dev/raidframe/rf_map.c:1.48 Fri Feb 8 22:34:00 2019
+++ src/sys/dev/raidframe/rf_map.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_map.c,v 1.48 2019/02/09 03:34:00 christos Exp $ */
+/* $NetBSD: rf_map.c,v 1.49 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -33,7 +33,7 @@
**************************************************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_map.c,v 1.48 2019/02/09 03:34:00 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_map.c,v 1.49 2019/02/10 17:13:33 christos Exp $");
#include <dev/raidframe/raidframevar.h>
@@ -376,12 +376,7 @@ rf_ConfigureMapModule(RF_ShutdownList_t
RF_AccessStripeMapHeader_t *
rf_AllocAccessStripeMapHeader(void)
{
- RF_AccessStripeMapHeader_t *p;
-
- p = pool_get(&rf_pools.asm_hdr, PR_WAITOK);
- memset(p, 0, sizeof(*p));
-
- return (p);
+ return pool_get(&rf_pools.asm_hdr, PR_WAITOK | PR_ZERO);
}
void
@@ -394,12 +389,7 @@ rf_FreeAccessStripeMapHeader(RF_AccessSt
RF_VoidFunctionPointerListElem_t *
rf_AllocVFPListElem(void)
{
- RF_VoidFunctionPointerListElem_t *p;
-
- p = pool_get(&rf_pools.vfple, PR_WAITOK);
- memset(p, 0, sizeof(*p));
-
- return (p);
+ return pool_get(&rf_pools.vfple, PR_WAITOK | PR_ZERO);
}
void
@@ -413,12 +403,7 @@ rf_FreeVFPListElem(RF_VoidFunctionPointe
RF_VoidPointerListElem_t *
rf_AllocVPListElem(void)
{
- RF_VoidPointerListElem_t *p;
-
- p = pool_get(&rf_pools.vple, PR_WAITOK);
- memset(p, 0, sizeof(*p));
-
- return (p);
+ return pool_get(&rf_pools.vple, PR_WAITOK | PR_ZERO);
}
void
@@ -431,12 +416,7 @@ rf_FreeVPListElem(RF_VoidPointerListElem
RF_ASMHeaderListElem_t *
rf_AllocASMHeaderListElem(void)
{
- RF_ASMHeaderListElem_t *p;
-
- p = pool_get(&rf_pools.asmhle, PR_WAITOK);
- memset(p, 0, sizeof(*p));
-
- return (p);
+ return pool_get(&rf_pools.asmhle, PR_WAITOK | PR_ZERO);
}
void
@@ -449,12 +429,7 @@ rf_FreeASMHeaderListElem(RF_ASMHeaderLis
RF_FailedStripe_t *
rf_AllocFailedStripeStruct(void)
{
- RF_FailedStripe_t *p;
-
- p = pool_get(&rf_pools.fss, PR_WAITOK);
- memset(p, 0, sizeof(*p));
-
- return (p);
+ return pool_get(&rf_pools.fss, PR_WAITOK | PR_ZERO);
}
void
@@ -470,12 +445,7 @@ rf_FreeFailedStripeStruct(RF_FailedStrip
RF_PhysDiskAddr_t *
rf_AllocPhysDiskAddr(void)
{
- RF_PhysDiskAddr_t *p;
-
- p = pool_get(&rf_pools.pda, PR_WAITOK);
- memset(p, 0, sizeof(*p));
-
- return (p);
+ return pool_get(&rf_pools.pda, PR_WAITOK | PR_ZERO);
}
/* allocates a list of PDAs, locking the free list only once when we
* have to call calloc, we do it one component at a time to simplify
Index: src/sys/dev/raidframe/rf_psstatus.c
diff -u src/sys/dev/raidframe/rf_psstatus.c:1.35 src/sys/dev/raidframe/rf_psstatus.c:1.36
--- src/sys/dev/raidframe/rf_psstatus.c:1.35 Fri Feb 8 22:34:00 2019
+++ src/sys/dev/raidframe/rf_psstatus.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_psstatus.c,v 1.35 2019/02/09 03:34:00 christos Exp $ */
+/* $NetBSD: rf_psstatus.c,v 1.36 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -37,7 +37,7 @@
*****************************************************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_psstatus.c,v 1.35 2019/02/09 03:34:00 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_psstatus.c,v 1.36 2019/02/10 17:13:33 christos Exp $");
#include <dev/raidframe/raidframevar.h>
@@ -267,11 +267,7 @@ rf_RemoveFromActiveReconTable(RF_Raid_t
RF_ReconParityStripeStatus_t *
rf_AllocPSStatus(RF_Raid_t *raidPtr)
{
- RF_ReconParityStripeStatus_t *p;
-
- p = pool_get(&rf_pools.pss, PR_WAITOK);
- memset(p, 0, sizeof(*p));
- return (p);
+ return pool_get(&rf_pools.pss, PR_WAITOK | PR_ZERO);
}
void
Index: src/sys/kern/kern_time.c
diff -u src/sys/kern/kern_time.c:1.194 src/sys/kern/kern_time.c:1.195
--- src/sys/kern/kern_time.c:1.194 Thu Jan 31 15:09:05 2019
+++ src/sys/kern/kern_time.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_time.c,v 1.194 2019/01/31 20:09:05 maxv Exp $ */
+/* $NetBSD: kern_time.c,v 1.195 2019/02/10 17:13:33 christos Exp $ */
/*-
* Copyright (c) 2000, 2004, 2005, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.194 2019/01/31 20:09:05 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.195 2019/02/10 17:13:33 christos Exp $");
#include <sys/param.h>
#include <sys/resourcevar.h>
@@ -603,8 +603,7 @@ timer_create1(timer_t *tid, clockid_t id
if ((pts = p->p_timers) == NULL)
pts = timers_alloc(p);
- pt = pool_get(&ptimer_pool, PR_WAITOK);
- memset(pt, 0, sizeof(*pt));
+ pt = pool_get(&ptimer_pool, PR_WAITOK | PR_ZERO);
if (evp != NULL) {
if (((error =
(*fetch_event)(evp, &pt->pt_ev, sizeof(pt->pt_ev))) != 0) ||
@@ -1166,8 +1165,7 @@ dosetitimer(struct proc *p, int which, s
if (pt == NULL) {
if (spare == NULL) {
mutex_spin_exit(&timer_lock);
- spare = pool_get(&ptimer_pool, PR_WAITOK);
- memset(spare, 0, sizeof(*spare));
+ spare = pool_get(&ptimer_pool, PR_WAITOK | PR_ZERO);
goto retry;
}
pt = spare;
Index: src/sys/kern/subr_pool.c
diff -u src/sys/kern/subr_pool.c:1.231 src/sys/kern/subr_pool.c:1.232
--- src/sys/kern/subr_pool.c:1.231 Sun Dec 23 07:15:01 2018
+++ src/sys/kern/subr_pool.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_pool.c,v 1.231 2018/12/23 12:15:01 maxv Exp $ */
+/* $NetBSD: subr_pool.c,v 1.232 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 1997, 1999, 2000, 2002, 2007, 2008, 2010, 2014, 2015, 2018
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.231 2018/12/23 12:15:01 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.232 2019/02/10 17:13:33 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_ddb.h"
@@ -959,8 +959,11 @@ pool_get(struct pool *pp, int flags)
KASSERT((((vaddr_t)v + pp->pr_itemoffset) & (pp->pr_align - 1)) == 0);
FREECHECK_OUT(&pp->pr_freecheck, v);
pool_redzone_fill(pp, v);
- pool_kleak_fill(pp, v);
- return (v);
+ if (flags & PR_ZERO)
+ memset(v, 0, pp->pr_size);
+ else
+ pool_kleak_fill(pp, v);
+ return v;
}
/*
Index: src/sys/kern/sys_aio.c
diff -u src/sys/kern/sys_aio.c:1.43 src/sys/kern/sys_aio.c:1.44
--- src/sys/kern/sys_aio.c:1.43 Wed May 31 22:45:13 2017
+++ src/sys/kern/sys_aio.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: sys_aio.c,v 1.43 2017/06/01 02:45:13 chs Exp $ */
+/* $NetBSD: sys_aio.c,v 1.44 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 2007 Mindaugas Rasiukevicius <rmind at NetBSD org>
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_aio.c,v 1.43 2017/06/01 02:45:13 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_aio.c,v 1.44 2019/02/10 17:13:33 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_ddb.h"
@@ -564,8 +564,7 @@ aio_enqueue_job(int op, void *aiocb_uptr
return error;
/* Allocate and initialize a new AIO job */
- a_job = pool_get(&aio_job_pool, PR_WAITOK);
- memset(a_job, 0, sizeof(struct aio_job));
+ a_job = pool_get(&aio_job_pool, PR_WAITOK | PR_ZERO);
/*
* Set the data.
Index: src/sys/kern/vfs_dirhash.c
diff -u src/sys/kern/vfs_dirhash.c:1.12 src/sys/kern/vfs_dirhash.c:1.13
--- src/sys/kern/vfs_dirhash.c:1.12 Fri Sep 5 01:57:21 2014
+++ src/sys/kern/vfs_dirhash.c Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_dirhash.c,v 1.12 2014/09/05 05:57:21 matt Exp $ */
+/* $NetBSD: vfs_dirhash.c,v 1.13 2019/02/10 17:13:33 christos Exp $ */
/*
* Copyright (c) 2008 Reinoud Zandijk
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_dirhash.c,v 1.12 2014/09/05 05:57:21 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_dirhash.c,v 1.13 2019/02/10 17:13:33 christos Exp $");
/* CLEAN UP! */
#include <sys/param.h>
@@ -202,8 +202,7 @@ dirhash_get(struct dirhash **dirhp)
/* if no dirhash was given, allocate one */
dirh = *dirhp;
if (dirh == NULL) {
- dirh = pool_get(&dirhash_pool, PR_WAITOK);
- memset(dirh, 0, sizeof(struct dirhash));
+ dirh = pool_get(&dirhash_pool, PR_WAITOK | PR_ZERO);
for (hashline = 0; hashline < DIRHASH_HASHSIZE; hashline++) {
LIST_INIT(&dirh->entries[hashline]);
}
@@ -301,8 +300,7 @@ dirhash_enter(struct dirhash *dirh,
}
/* add to the hashline */
- dirh_e = pool_get(&dirhash_entry_pool, PR_WAITOK);
- memset(dirh_e, 0, sizeof(struct dirhash_entry));
+ dirh_e = pool_get(&dirhash_entry_pool, PR_WAITOK | PR_ZERO);
dirh_e->hashvalue = hashvalue;
dirh_e->offset = offset;
@@ -333,8 +331,7 @@ dirhash_enter_freed(struct dirhash *dirh
DPRINTF(("dirhash enter FREED %"PRIu64", %d\n",
offset, entry_size));
- dirh_e = pool_get(&dirhash_entry_pool, PR_WAITOK);
- memset(dirh_e, 0, sizeof(struct dirhash_entry));
+ dirh_e = pool_get(&dirhash_entry_pool, PR_WAITOK | PR_ZERO);
dirh_e->hashvalue = 0; /* not relevant */
dirh_e->offset = offset;
Index: src/sys/sys/pool.h
diff -u src/sys/sys/pool.h:1.83 src/sys/sys/pool.h:1.84
--- src/sys/sys/pool.h:1.83 Sun Dec 16 16:03:35 2018
+++ src/sys/sys/pool.h Sun Feb 10 12:13:33 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: pool.h,v 1.83 2018/12/16 21:03:35 maxv Exp $ */
+/* $NetBSD: pool.h,v 1.84 2019/02/10 17:13:33 christos Exp $ */
/*-
* Copyright (c) 1997, 1998, 1999, 2000, 2007 The NetBSD Foundation, Inc.
@@ -149,6 +149,7 @@ struct pool {
#define PR_LARGECACHE 0x1000 /* use large cache groups */
#define PR_GROWING 0x2000 /* pool_grow in progress */
#define PR_GROWINGNOWAIT 0x4000 /* pool_grow in progress by PR_NOWAIT alloc */
+#define PR_ZERO 0x8000 /* zero data before returning */
/*
* `pr_lock' protects the pool's data structures when removing