summaryrefslogtreecommitdiffstats
path: root/sys/kern/imgact_elf.c
diff options
context:
space:
mode:
authorgreen <green@FreeBSD.org>2000-07-23 22:19:49 +0000
committergreen <green@FreeBSD.org>2000-07-23 22:19:49 +0000
commit3dd3bc9aca4a3fd5c51e4beaf6937ab597969b8b (patch)
tree70f23cb1a3197c23d57c2b07c08298a1115e85b7 /sys/kern/imgact_elf.c
parent173f0f34e5e78191a409f8aa394a0c4f7b06d9e9 (diff)
downloadFreeBSD-src-3dd3bc9aca4a3fd5c51e4beaf6937ab597969b8b.zip
FreeBSD-src-3dd3bc9aca4a3fd5c51e4beaf6937ab597969b8b.tar.gz
Using an atomic operation here won't help if nobody else uses them (for
this). Use the simple_lock() on v_interlock like elsewhere.
Diffstat (limited to 'sys/kern/imgact_elf.c')
-rw-r--r--sys/kern/imgact_elf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 52b89e5..fd185f0 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -61,7 +61,6 @@
#include <vm/vm_object.h>
#include <vm/vm_extern.h>
-#include <machine/atomic.h>
#include <machine/elf.h>
#include <machine/md_var.h>
@@ -478,7 +477,9 @@ exec_elf_imgact(struct image_params *imgp)
* a context switch. Better safe than sorry; I really don't want
* the file to change while it's being loaded.
*/
- atomic_set_long(&imgp->vp->v_flag, VTEXT);
+ simple_lock(&imgp->vp->v_interlock);
+ imgp->vp->v_flag |= VTEXT;
+ simple_unlock(&imgp->vp->v_interlock);
if ((error = exec_extract_strings(imgp)) != 0)
goto fail;
OpenPOWER on IntegriCloud