proc: use MTX_NEW flag in proc_init
This allows us to get rid of bzero which was added specifically to make mtx_init on p_mtx reliable. This also fixes a potential problem where mtx_init on other mutexes could trip over on unitialized memory and fire an assertion. Reviewed by: kib
This commit is contained in:
parent
ffb34484ee
commit
f97af9706b
@ -225,12 +225,11 @@ proc_init(void *mem, int size, int flags)
|
||||
p = (struct proc *)mem;
|
||||
SDT_PROBE(proc, kernel, init, entry, p, size, flags, 0, 0);
|
||||
p->p_sched = (struct p_sched *)&p[1];
|
||||
bzero(&p->p_mtx, sizeof(struct mtx));
|
||||
mtx_init(&p->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK);
|
||||
mtx_init(&p->p_slock, "process slock", NULL, MTX_SPIN);
|
||||
mtx_init(&p->p_statmtx, "pstatl", NULL, MTX_SPIN);
|
||||
mtx_init(&p->p_itimmtx, "pitiml", NULL, MTX_SPIN);
|
||||
mtx_init(&p->p_profmtx, "pprofl", NULL, MTX_SPIN);
|
||||
mtx_init(&p->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK | MTX_NEW);
|
||||
mtx_init(&p->p_slock, "process slock", NULL, MTX_SPIN | MTX_NEW);
|
||||
mtx_init(&p->p_statmtx, "pstatl", NULL, MTX_SPIN | MTX_NEW);
|
||||
mtx_init(&p->p_itimmtx, "pitiml", NULL, MTX_SPIN | MTX_NEW);
|
||||
mtx_init(&p->p_profmtx, "pprofl", NULL, MTX_SPIN | MTX_NEW);
|
||||
cv_init(&p->p_pwait, "ppwait");
|
||||
cv_init(&p->p_dbgwait, "dbgwait");
|
||||
TAILQ_INIT(&p->p_threads); /* all threads in proc */
|
||||
|
Loading…
Reference in New Issue
Block a user