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.mart...@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.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to