summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_linker.c9
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);
}
OpenPOWER on IntegriCloud