Re: [PATCH 19/62] Driver-Core: devtmpfs - remove EXPERIMENTAL and enable it by default

From: Eric W. Biederman
Date: Tue Mar 02 2010 - 23:39:06 EST


Greg Kroah-Hartman <gregkh@xxxxxxx> writes:

> From: Kay Sievers <kay.sievers@xxxxxxxx>
>
> All major distros enable devtmpfs on recent systems, so remove
> the EXPERIMENTAL flag, and enable it by default to reflect how it
> is used today.

Default y?

Default y is the wrong thing for DEVTMPFS_MOUNT. It changes the
userspace semantics so I can't see how this is safe in the general
case.

I also looked and the most recent bleeding edge distro I have fedora
core 12 doesn't even compile in devtmpfs so this extraordinary claim
that all major distros are using devtmpfs is far from true today. It
is certainly rare enough that changing there is not yet justification
for changing the default.

Eric

>
> Signed-off-by: Kay Sievers <kay.sievers@xxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> ---
> drivers/base/Kconfig | 45 ++++++++++++++++++++++++++++-----------------
> 1 files changed, 28 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
> index ee37727..8497ce9 100644
> --- a/drivers/base/Kconfig
> +++ b/drivers/base/Kconfig
> @@ -9,29 +9,40 @@ config UEVENT_HELPER_PATH
> every uevent.
>
> config DEVTMPFS
> - bool "Create a kernel maintained /dev tmpfs (EXPERIMENTAL)"
> + bool "Maintain a devtmpfs filesystem to mount at /dev"
> depends on HOTPLUG && SHMEM && TMPFS
> + default y
> help
> - This creates a tmpfs filesystem, and mounts it at bootup
> - and mounts it at /dev. The kernel driver core creates device
> - nodes for all registered devices in that filesystem. All device
> - nodes are owned by root and have the default mode of 0600.
> - Userspace can add and delete the nodes as needed. This is
> - intended to simplify bootup, and make it possible to delay
> - the initial coldplug at bootup done by udev in userspace.
> - It should also provide a simpler way for rescue systems
> - to bring up a kernel with dynamic major/minor numbers.
> - Meaningful symlinks, permissions and device ownership must
> - still be handled by userspace.
> - If unsure, say N here.
> + This creates a tmpfs filesystem instance early at bootup.
> + In this filesystem, the kernel driver core maintains device
> + nodes with their default names and permissions for all
> + registered devices with an assigned major/minor number.
> + Userspace can modify the filesystem content as needed, add
> + symlinks, and apply needed permissions.
> + It provides a fully functional /dev directory, where usually
> + udev runs on top, managing permissions and adding meaningful
> + symlinks.
> + In very limited environments, it may provide a sufficient
> + functional /dev without any further help. It also allows simple
> + rescue systems, and reliably handles dynamic major/minor numbers.
> + If unsure, say Y here.
>
> config DEVTMPFS_MOUNT
> - bool "Automount devtmpfs at /dev"
> + bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs"
> depends on DEVTMPFS
> + default y
> help
> - This will mount devtmpfs at /dev if the kernel mounts the root
> - filesystem. It will not affect initramfs based mounting.
> - If unsure, say N here.
> + This will instruct the kernel to automatically mount the
> + devtmpfs filesystem at /dev, directly after the kernel has
> + mounted the root filesystem. The behavior can be overridden
> + with the commandline parameter: devtmpfs.mount=0|1.
> + This option does not affect initramfs based booting, here
> + the devtmpfs filesystem always needs to be mounted manually
> + after the roots is mounted.
> + With this option enabled, it allows to bring up a system in
> + rescue mode with init=/bin/sh, even when the /dev directory
> + on the rootfs is completely empty.
> + If unsure, say Y here.
>
> config STANDALONE
> bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL
> --
> 1.7.0.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/