From owner-freebsd-current Mon Mar 6 05:37:24 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id FAA05435 for current-outgoing; Mon, 6 Mar 1995 05:37:24 -0800 Received: from sbstark.cs.sunysb.edu (sbstark.cs.sunysb.edu [130.245.1.47]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id FAA05429 for ; Mon, 6 Mar 1995 05:37:22 -0800 Received: from starkhome.UUCP (root@localhost) by sbstark.cs.sunysb.edu (8.6.9/8.6.9) with UUCP id IAA18578 for current@freebsd.org; Mon, 6 Mar 1995 08:37:15 -0500 Received: by starkhome.cs.sunysb.edu (8.6.10/1.34) id IAA03921; Mon, 6 Mar 1995 08:36:33 -0500 Date: Mon, 6 Mar 1995 08:36:33 -0500 From: starkhome!gene@sbstark.cs.sunysb.edu (Gene Stark) Message-Id: <199503061336.IAA03921@starkhome.cs.sunysb.edu> To: davidg@Root.COM CC: current@FreeBSD.org, dyson@Root.COM In-reply-to: David Greenman's message of Sun, 05 Mar 1995 18:45:07 -0800 <199503060245.SAA00283@corbin.Root.COM> Subject: Page fault panics during make world in -current Sender: current-owner@FreeBSD.org Precedence: bulk In vfs_vnops.c, line 245: if (vp->v_flag & VVMIO) { --> vrele(vp); if( vp->v_vmdata == NULL) panic("vn_close: VMIO object missing"); vm_object_deallocate( (vm_object_t) vp->v_vmdata); } else vrele(vp); It seems wrong (or at least bad form), to access vp->v_vmdata after doing vrele(vp), as vp might no longer be valid. It is not immediately clear that a sleep is possible during vrele(), but it isn't immediately clear the other way, either. - Gene