summaryrefslogtreecommitdiff
path: root/sys/kern/link_elf.c
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2008-08-10 13:18:07 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2008-08-10 13:18:07 +0000
commit948a2910a694392b49f23ec260dde0e44ae39c6c (patch)
treec78799f9d83d42808cb31e7f6a04a82c0c85655a /sys/kern/link_elf.c
parentf428b23100fe6994fe87367d7e505b5fc0281c8f (diff)
Notes
Diffstat (limited to 'sys/kern/link_elf.c')
-rw-r--r--sys/kern/link_elf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c
index 0e20809b99ce..e32a0a41027e 100644
--- a/sys/kern/link_elf.c
+++ b/sys/kern/link_elf.c
@@ -785,7 +785,9 @@ link_elf_load_file(linker_class_t cls, const char* filename,
goto out;
link_elf_reloc_local(lf);
+ VOP_UNLOCK(nd.ni_vp, 0, td);
error = linker_load_dependencies(lf);
+ vn_lock(nd.ni_vp, LK_EXCLUSIVE | LK_RETRY, td);
if (error)
goto out;
#if 0 /* this will be more trouble than it's worth for now */