Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Dec 2014 08:52:10 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 196086] New: [geom] a race in gmirror cause kernel crash during startup
Message-ID:  <bug-196086-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196086

            Bug ID: 196086
           Summary: [geom] a race in gmirror cause kernel crash during
                    startup
           Product: Base System
           Version: 9.3-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: alexandre.martins@netasq.com

In the function g_mirror_add_disk, the event "G_MIRROR_DISK_STATE_NEW" is sent
before the call to g_mirror_update_metadata.

However, if the event finishes before the call to g_mirror_update_metadata,
with the result that the disk is destroy, the "disk" pointer is now invalid and
may cause a kernel crash.


In my case, the disk was invalid because its syncid was not updated ("Component
ada1 (device gm0) broken, skipping." in function g_mirror_update_device)


The solution may be to call g_mirror_update_metadata before the launch of the
event G_MIRROR_DISK_STATE_NEW.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-196086-8>