variable init
John Baldwin
jhb at freebsd.org
Mon Aug 1 13:59:40 UTC 2011
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
More information about the freebsd-current
mailing list