Date: Thu, 05 Nov 2015 00:34:15 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 204298] xpt_release_device() panic: mutex CAM queue lock not owned Message-ID: <bug-204298-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204298 Bug ID: 204298 Summary: xpt_release_device() panic: mutex CAM queue lock not owned Product: Base System Version: 11.0-CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: smferris@gmail.com Created attachment 162793 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=162793&action=edit cam_xpt.c device callout patch xpt_release_device() calls callout_stop() without holding the callout mutex (devq->send_mtx). When testing large-scale repeated FC device removal, we ran into panics where xpt_release_device() was reaching refcount 0 while the callout was pending (or at least active). The attached patch will give the device callout a ref on the device while the device callout is active, to ensure the device can't be destroyed until the callout is either stopped or finishes executing. Sponsored by: EMC / Isilon Storage Division -- 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-204298-8>