[PATCH] Fixup locking for kernel-linker, needs ndis testing(!)

John Baldwin jhb at freebsd.org
Wed May 24 14:49:17 PDT 2006


I've reworked the locking for the kernel linker to convert the existing 
kld_mtx to an sx lock and extend it's scope to cover all of the various 
linker-related data structures.  I also changed the kernel linker API a bit 
to make it more amenable to locking in that I added a 'linker_file_foreach' 
that iterates over the list of linker files calling a supplied predicate 
function and made the functions to lookup a linker file by name or index 
private.  This meant that the ndis and hwpmc code had to stop fondling the 
kernel linker internals.  I also made the VFS Giant locking in ndis and the 
kernel linker conditional such that it only locks Giant for non-MPSAFE 
filesystems.

I have runtested this patch a while back, but the ndis and hwpmc parts have 
only been compile tested.  Please test.

http://www.FreeBSD.org/~jhb/patches/kld.patch

-- 
John Baldwin


More information about the freebsd-current mailing list