summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_linker.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index 1683a5a0d1e3..c5e3a4e5b087 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -643,8 +643,11 @@ linker_file_unload(linker_file_t file, int flags)
* link error.
*/
if (file->flags & LINKER_FILE_LINKED) {
+ file->flags &= ~LINKER_FILE_LINKED;
+ KLD_UNLOCK();
linker_file_sysuninit(file);
linker_file_unregister_sysctls(file);
+ KLD_LOCK();
}
TAILQ_REMOVE(&linker_files, file, link);