From owner-cvs-src@FreeBSD.ORG Mon May 15 19:42:25 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0528016B864; Mon, 15 May 2006 19:42:25 +0000 (UTC) (envelope-from kbyanc@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F0F543D64; Mon, 15 May 2006 19:42:23 +0000 (GMT) (envelope-from kbyanc@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k4FJgA35027552; Mon, 15 May 2006 19:42:10 GMT (envelope-from kbyanc@repoman.freebsd.org) Received: (from kbyanc@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k4FJgA05027551; Mon, 15 May 2006 19:42:10 GMT (envelope-from kbyanc) Message-Id: <200605151942.k4FJgA05027551@repoman.freebsd.org> From: Kelly Yancey Date: Mon, 15 May 2006 19:42:10 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/fs/fdescfs fdesc_vfsops.c src/sys/fs/pseudofs pseudofs.c pseudofs.h src/sys/kern vfs_mount.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 May 2006 19:42:25 -0000 kbyanc 2006-05-15 19:42:10 UTC FreeBSD src repository Modified files: sys/fs/fdescfs fdesc_vfsops.c sys/fs/pseudofs pseudofs.c pseudofs.h sys/kern vfs_mount.c Log: Restore the ability to mount procfs and fdescfs filesystems via the mount(2) system call: * Add cmount hook to fdescfs and pseudofs (and, by extension, procfs and linprocfs). This (mostly) restores the ability to mount these filesystems using the old mount(2) system call (see below for the rest of the fix). * Remove not-NULL check for the data argument from the mount(2) entry point. Per the mount(2) man page, it is up to the individual filesystem being mounted to verify data. Or, in the case of procfs, etc. the filesystem is free to ignore the data parameter if it does not use it. Enforcing data to be not-NULL in the mount(2) system call entry point prevented passing NULL to filesystems which ignored the data pointer value. Apparently, passing NULL was common practice in such cases, as even our own mount_std(8) used to do it in the pre-nmount(2) world. All userland programs in the tree were converted to nmount(2) long ago, but I've found at least one external program which broke due to this (presumably unintentional) mount(2) API change. One could argue that external programs should also be converted to nmount(2), but then there isn't much point in keeping the mount(2) interface for backward compatibility if it isn't backward compatible. Revision Changes Path 1.55 +11 -0 src/sys/fs/fdescfs/fdesc_vfsops.c 1.27 +9 -0 src/sys/fs/pseudofs/pseudofs.c 1.31 +4 -0 src/sys/fs/pseudofs/pseudofs.h 1.223 +0 -3 src/sys/kern/vfs_mount.c