Date: Wed, 20 Sep 2006 01:29:05 +0200 (CEST) From: Martin Blapp <mb@imp.ch> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-src@FreeBSD.org, Martin Blapp <mbr@FreeBSD.org>, cvs-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_proc.c Message-ID: <20060920012110.P1494@godot.imp.ch> In-Reply-To: <200609191714.46864.jhb@freebsd.org> References: <200609191925.k8JJPBaH091145@repoman.freebsd.org> <200609191714.46864.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060920012110.P1494>