Index: kern_linker.c =================================================================== RCS file: /usr/repo/src/sys/kern/kern_linker.c,v retrieving revision 1.155 diff -u -p -r1.155 kern_linker.c --- kern_linker.c 16 Mar 2008 10:58:05 -0000 1.155 +++ kern_linker.c 17 Apr 2008 19:09:12 -0000 @@ -924,11 +924,14 @@ int linker_search_symbol_name(caddr_t value, char *buf, u_int buflen, long *offset) { - int error; + int error, locked; - KLD_LOCK(); + locked = KLD_LOCKED(); + if (!locked) + KLD_LOCK(); error = linker_debug_search_symbol_name(value, buf, buflen, offset); - KLD_UNLOCK(); + if (!locked) + KLD_UNLOCK(); return (error); }