summaryrefslogtreecommitdiffstats
path: root/sys/kern/imgact_elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/imgact_elf.c')
-rw-r--r--sys/kern/imgact_elf.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 9706d67..90c9716 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -152,13 +152,18 @@ int
elf_brand_inuse(Elf_Brandinfo *entry)
{
struct proc *p;
+ int rval = FALSE;
+ lockmgr(&allproc_lock, LK_SHARED, NULL, CURPROC);
LIST_FOREACH(p, &allproc, p_list) {
- if (p->p_sysent == entry->sysvec)
- return TRUE;
+ if (p->p_sysent == entry->sysvec) {
+ rval = TRUE;
+ break;
+ }
}
+ lockmgr(&allproc_lock, LK_RELEASE, NULL, CURPROC);
- return FALSE;
+ return (rval);
}
static int
OpenPOWER on IntegriCloud