From owner-cvs-all Thu Jan 17 6:12:11 2002 Delivered-To: cvs-all@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id B637337B405; Thu, 17 Jan 2002 06:12:01 -0800 (PST) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id BAA19515; Fri, 18 Jan 2002 01:11:57 +1100 Date: Fri, 18 Jan 2002 01:13:13 +1100 (EST) From: Bruce Evans X-X-Sender: To: John Baldwin Cc: Alfred Perlstein , , Subject: RE: cvs commit: src/sys/kern sys_generic.c In-Reply-To: Message-ID: <20020118010511.J1666-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Wed, 16 Jan 2002, John Baldwin wrote: > On 16-Jan-02 Alfred Perlstein wrote: > > alfred 2002/01/16 13:33:41 PST > > > > Modified files: > > sys/kern sys_generic.c > > Log: > > Fix giant handling in pwrite(2), I forgot to release it when finishing > > the syscall. > > Uh, this isn't correct. fdrop() can call fo_close() can call down into VFS > and do a vrele(), so fdrop() still needs Giant. If you aren't holding Giant > across fdrop() in a few places that might explain the vput(0x0) panics. pread() has the same bug. The organization of pwrite() isn't consistent with having the bug. It is still messed up to support having only one Giant unlock at the end. pread() has been cleaned up, but this gets in the way of fixing it. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message