From owner-freebsd-bugs@FreeBSD.ORG Mon Dec 19 16:40:17 2005 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F2CE616A41F for ; Mon, 19 Dec 2005 16:40:16 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 66F4343D8D for ; Mon, 19 Dec 2005 16:40:07 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id jBJGe6uw036552 for ; Mon, 19 Dec 2005 16:40:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id jBJGe6Aj036551; Mon, 19 Dec 2005 16:40:06 GMT (envelope-from gnats) Date: Mon, 19 Dec 2005 16:40:06 GMT Message-Id: <200512191640.jBJGe6Aj036551@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Kostik Belousov Cc: Subject: Re: kern/87208: /dev/cuad[0/1] bad file descriptor error during mgetty read X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Kostik Belousov List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Dec 2005 16:40:17 -0000 The following reply was made to PR kern/87208; it has been noted by GNATS. From: Kostik Belousov To: bug-followup@FreeBSD.org, norbert@feu-nrmf.ph Cc: Subject: Re: kern/87208: /dev/cuad[0/1] bad file descriptor error during mgetty read Date: Mon, 19 Dec 2005 18:37:42 +0200 --LQksG6bCIzRHxTLp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Ok, it seems I have found the problem. Please, test the patch below: Index: sys/kern/kern_descrip.c =================================================================== RCS file: /usr/local/arch/ncvs/src/sys/kern/kern_descrip.c,v retrieving revision 1.289 diff -u -r1.289 kern_descrip.c --- sys/kern/kern_descrip.c 30 Nov 2005 05:12:03 -0000 1.289 +++ sys/kern/kern_descrip.c 19 Dec 2005 16:36:44 -0000 @@ -1512,6 +1512,8 @@ newfdp->fd_freefile = i; } } + if (newfdp->fd_freefile == -1) + newfdp->fd_freefile = i; FILEDESC_UNLOCK_FAST(fdp); FILEDESC_LOCK(newfdp); for (i = 0; i <= newfdp->fd_lastfile; ++i) @@ -1519,9 +1521,9 @@ fdused(newfdp, i); FILEDESC_UNLOCK(newfdp); FILEDESC_LOCK_FAST(fdp); - if (newfdp->fd_freefile == -1) - newfdp->fd_freefile = i; newfdp->fd_cmask = fdp->fd_cmask; + KASSERT(fd_first_free(newfdp, 0, newfdp->fd_nfiles) == newfdp->fd_freefile, + ("fd_first_free != fd_freefile fdp %p newfdp %p p %p", fdp, newfdp, curproc)); FILEDESC_UNLOCK_FAST(fdp); return (newfdp); } --LQksG6bCIzRHxTLp Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDpuHVC3+MBN1Mb4gRAsWYAJ47ZIwOzd0XXHS8p3h6Zz+VUQBCPACgjbHb xtwn+aOwayji2I07Zbr+dxw= =CMsY -----END PGP SIGNATURE----- --LQksG6bCIzRHxTLp--