diff options
-rw-r--r-- | sys/kern/kern_linker.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 45d7653..c417366 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -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); } |