summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1998-09-08 16:59:37 +0000
committerbde <bde@FreeBSD.org>1998-09-08 16:59:37 +0000
commitd886019b37cf7a9d8cbde74e3434724b65f9870a (patch)
tree66b1dacf6ec0cd83c0c2f09351d8cb69fba701a4 /sys
parentb1a46a64f829789406b9192367e98c3e10a73a4e (diff)
downloadFreeBSD-src-d886019b37cf7a9d8cbde74e3434724b65f9870a.zip
FreeBSD-src-d886019b37cf7a9d8cbde74e3434724b65f9870a.tar.gz
Oops, don't assume that the environment is normal in devfs_mount().
It isn't for the hidden mountpoint. The static vfs's haven't been attached then, so mp->mnt_vfc can't be valid.
Diffstat (limited to 'sys')
-rw-r--r--sys/miscfs/devfs/devfs_vfsops.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/miscfs/devfs/devfs_vfsops.c b/sys/miscfs/devfs/devfs_vfsops.c
index e98fc95..f275170 100644
--- a/sys/miscfs/devfs/devfs_vfsops.c
+++ b/sys/miscfs/devfs/devfs_vfsops.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: devfs_vfsops.c,v 1.31 1998/08/16 01:21:51 bde Exp $
+ * $Id: devfs_vfsops.c,v 1.32 1998/09/07 13:17:00 bde Exp $
*
*/
@@ -116,15 +116,17 @@ DBPRINT(("mount "));
return (ENOMEM);
bzero(devfs_mp_p,sizeof(*devfs_mp_p));
devfs_mp_p->mount = mp;
- mp->mnt_data = (void *)devfs_mp_p;
/*-
* Fill out some fields
*/
mp->mnt_data = (qaddr_t)devfs_mp_p;
- mp->mnt_stat.f_type = mp->mnt_vfc->vfc_typenum;
+ if (mp->mnt_vfc == NULL)
+ mp->mnt_stat.f_type = -1; /* doing hidden mountpoint */
+ else
+ mp->mnt_stat.f_type = mp->mnt_vfc->vfc_typenum;
mp->mnt_stat.f_fsid.val[0] = (intptr_t)(void *)devfs_mp_p;
- mp->mnt_stat.f_fsid.val[1] = mp->mnt_vfc->vfc_typenum;
+ mp->mnt_stat.f_fsid.val[1] = mp->mnt_stat.f_type;
mp->mnt_flag |= MNT_LOCAL;
if(error = dev_dup_plane(devfs_mp_p))
OpenPOWER on IntegriCloud