Date: Thu, 19 Jun 2014 18:50:20 -0700 From: Justin Hibbits <chmeeedalf@gmail.com> To: Alexander Kabaev <kan@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r267660 - head/sys/dev/firewire Message-ID: <20140619185020.428a102d@zhabar.att.net> In-Reply-To: <201406200145.s5K1j3TC083304@svn.freebsd.org> References: <201406200145.s5K1j3TC083304@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Jun 2014 01:45:03 +0000 (UTC) Alexander Kabaev <kan@FreeBSD.org> wrote: > Author: kan > Date: Fri Jun 20 01:45:03 2014 > New Revision: 267660 > URL: http://svnweb.freebsd.org/changeset/base/267660 > > Log: > Set target->sbp field to valid value when sbp device is created. > > The sbp_cam_detach_target can be called from sbp_post_explore > function on the first target that is not really attached and it was > written with the corresponding safety check in place to tolerate > that. Unfortunately the recent locking cleanup did add a locking > assertion that tries to dereference the target->sbp pointer > unconditionally, which causes less than desirable outcome. Since the > assertion is useful, just initialize the target sbp pointer once when > sbp device is being initialized instead of when the target is being > attached. This makes assertion work in all cases and fixes the crash > on boot. Thanks for fixing this! I was hitting it on my latest kernel rebuilds, and kept rolling back until I could find the time to fix it. You beat me to it. - Justin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140619185020.428a102d>