lkml.org 
[lkml]   [2013]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] init: fix name of root device in /proc/mounts
    Date
    On a system that does not use an initramfs, /dev/root was always
    listed in /proc/mounts. This breaks software which scans /proc/mounts to
    determine which file systems are mounted since /dev/root is not a valid
    device name.

    This changes that processing so that "/dev/root" is only added to
    /proc/mounts if a root device is not specified with the root= option on
    the kernel command line.

    Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
    ---
    init/do_mounts.c | 14 +++++++++++---
    1 file changed, 11 insertions(+), 3 deletions(-)

    diff --git a/init/do_mounts.c b/init/do_mounts.c
    index 1d1b634..efc37d2 100644
    --- a/init/do_mounts.c
    +++ b/init/do_mounts.c
    @@ -480,7 +480,10 @@ void __init change_floppy(char *fmt, ...)
    va_start(args, fmt);
    vsprintf(buf, fmt, args);
    va_end(args);
    - fd = sys_open("/dev/root", O_RDWR | O_NDELAY, 0);
    + if (saved_root_name[0])
    + fd = sys_open(saved_root_name, O_RDWR | O_NDELAY, 0);
    + else
    + fd = sys_open("/dev/root", O_RDWR | O_NDELAY, 0);
    if (fd >= 0) {
    sys_ioctl(fd, FDEJECT, 0);
    sys_close(fd);
    @@ -523,8 +526,13 @@ void __init mount_root(void)
    }
    #endif
    #ifdef CONFIG_BLOCK
    - create_dev("/dev/root", ROOT_DEV);
    - mount_block_root("/dev/root", root_mountflags);
    + if (saved_root_name[0]) {
    + create_dev(saved_root_name, ROOT_DEV);
    + mount_block_root(saved_root_name, root_mountflags);
    + } else {
    + create_dev("/dev/root", ROOT_DEV);
    + mount_block_root("/dev/root", root_mountflags);
    + }
    #endif
    }

    --
    1.7.12.4


    \
     
     \ /
      Last update: 2013-02-01 02:21    [W:0.032 / U:0.396 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site