From owner-freebsd-bugs Thu May 11 9:20:11 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 5C9E837B9A4 for ; Thu, 11 May 2000 09:20:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id JAA02631; Thu, 11 May 2000 09:20:00 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from happy.checkpoint.com (happy.checkpoint.com [199.203.156.41]) by hub.freebsd.org (Postfix) with ESMTP id BA18E37BDE2 for ; Thu, 11 May 2000 09:10:44 -0700 (PDT) (envelope-from mellon@happy.checkpoint.com) Received: (from mellon@localhost) by happy.checkpoint.com (8.9.3/8.9.3) id TAA25719; Thu, 11 May 2000 19:11:26 GMT (envelope-from mellon) Message-Id: <200005111911.TAA25719@happy.checkpoint.com> Date: Thu, 11 May 2000 19:11:26 GMT From: mellon@pobox.com Reply-To: mellon@pobox.com To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/18503: Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 18503 >Category: kern >Synopsis: >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu May 11 09:20:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Anatoly Vorobey >Release: FreeBSD 5.0-CURRENT i386 >Organization: >Environment: 5.0-CURRENT >Description: Current code of mount() in vfs_syscalls.c does not check, erroneously, for error return from vfs_allocate_syncvnode(). The failure scenario is very unlikely to happen, however (it'll only fail if it can't obtain a vnode). The attached fix will prudently refrain from ignoring the return value. >How-To-Repeat: >Fix: Index: vfs_syscalls.c =================================================================== RCS file: /freebsd/cvs/src/sys/kern/vfs_syscalls.c,v retrieving revision 1.153 diff -u -r1.153 vfs_syscalls.c --- vfs_syscalls.c 2000/05/05 09:58:27 1.153 +++ vfs_syscalls.c 2000/05/11 19:07:57 @@ -342,7 +342,7 @@ if ((mp->mnt_flag & MNT_RDONLY) == 0) error = vfs_allocate_syncvnode(mp); vfs_unbusy(mp, p); - if ((error = VFS_START(mp, 0, p)) != 0) + if (error || (error = VFS_START(mp, 0, p)) != 0) vrele(vp); } else { simple_lock(&vp->v_interlock); >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message