cvs commit: src/sys/kern kern_proc.c
Martin Blapp
mb at imp.ch
Tue Sep 19 16:29:10 PDT 2006
Hi,
> Will you be able to revert 1.258 of tty.c now and still be safe from panics?
I guess so. I don't see another place which could be dangerous for us beside
enterpgrp(). I don't understand the code there 100%.
sys/kern/kern_proc.c: line 308
if (sess != NULL) {
^^^^^^
Why only if a session already exists ? Could you explain that to me ?
Anyway, we may need here Giant too. What do you think ?
/*
* new session
*/
mtx_init(&sess->s_mtx, "session", NULL, MTX_DEF);
PROC_LOCK(p);
p->p_flag &= ~P_CONTROLT;
PROC_UNLOCK(p);
PGRP_LOCK(pgrp);
sess->s_leader = p;
sess->s_sid = p->p_pid;
sess->s_count = 1;
sess->s_ttyvp = NULL;
sess->s_ttyp = NULL;
But I don't think we should revert v. 1.258 because the locks will
be needed later. After NEED_GIANT has gone (from tty code) we will need the
same lock at the same place again to avoid races. There are some places more where we
need the locks then. I propose to keep rev. 1.258 (maybe not to MFC it) or to
add a comment instead.
Martin
More information about the cvs-src
mailing list