NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/38281: mount reload results in crashes



>Number:         38281
>Category:       kern
>Synopsis:       mount reload results in crashes
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Mar 22 21:45:00 +0000 2008
>Originator:     Christos Zoulas
>Release:        4.99.55
>Organization:
        Slackerz Unlimited
>Environment:
System: NetBSD shiny.astron.com 4.99.55 NetBSD 4.99.55 (SHINY) #128: Sun Mar 9 
13:27:35 EDT 2008 
christos%shiny.astron.com@localhost:/usr/src/sys/arch/i386/compile/SHINY i386
Architecture: i386
Machine: i386
>Description:
        System crashes when reloading root. It will either crash
        with dangling softdeps if softdeps are enabled, or with
        a corrupted ffs panic if no softdeps.
>How-To-Repeat:
        boot multiuser, turn root read-only with
        # mount -o ro -u /

        Then run:

#include <sys/param.h>
#include <sys/time.h>
#include <sys/mount.h>
#include <ufs/ufs/ufsmount.h>
#include <err.h>
#include <stdlib.h>
#include <unistd.h>

int
main(int argc, char **argv)
{
        struct statvfs stfs_buf;
        struct ufs_args args;
        int flags;

        if (statvfs("/", &stfs_buf) != 0)
                err(1, "statvfs");

        flags = stfs_buf.f_flag;

        args.fspec = 0;
        flags |= MNT_UPDATE | MNT_RELOAD;
        if (mount(MOUNT_FFS, "/", flags, &args, sizeof args) != 0)
                err(1, "mount");
        return 0;
}

You might need to repeat this a couple of times to crash.

>Fix:
        ?



Home | Main Index | Thread Index | Old Index