Date: Mon, 1 Aug 2011 08:52:37 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Andrew Thompson <andy@fud.org.nz> Subject: Re: variable init Message-ID: <201108010852.37607.jhb@freebsd.org> In-Reply-To: <CAFAOGNRN3e_9SyHU5yfRf-EhEWbWhpepCVQT-=n4LL-V44J1EQ@mail.gmail.com> References: <CAFAOGNRN3e_9SyHU5yfRf-EhEWbWhpepCVQT-=n4LL-V44J1EQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, August 01, 2011 3:09:27 am Andrew Thompson wrote: > Hi, > > Looking at, > > http://www.freebsd.org/cgi/query-pr.cgi?pr=159345 > > The lock is a global variable, declared as > > static struct mtx lagg_list_mtx; > > I would expect this to be zeroed memory, is this guaranteed? Yes, but when if_lagg.ko is loaded, the runtime linker resolves references to 'lagg_list_mtx' to point to the lock that is in the kernel's .bss from the compiled-in lagg, not the one in the .ko file. However, both initializer functions run (the one from the kernel and the one from the .ko) which causes the panic. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108010852.37607.jhb>