diff options
| -rw-r--r-- | sys/kern/kern_linker.c | 3 |
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); |
