summaryrefslogtreecommitdiffstats
path: root/sys/kern/imgact_elf.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2005-12-17 19:40:47 +0000
committeralc <alc@FreeBSD.org>2005-12-17 19:40:47 +0000
commit8f7e8790b1a43b2dfe0f99c331ca62bee4ae84e7 (patch)
tree22f4ba68c00dff4329ddeb5ff98170ce02000d11 /sys/kern/imgact_elf.c
parent9465e980cdaf201beb1f77fadf3d612c43069b0c (diff)
downloadFreeBSD-src-8f7e8790b1a43b2dfe0f99c331ca62bee4ae84e7.zip
FreeBSD-src-8f7e8790b1a43b2dfe0f99c331ca62bee4ae84e7.tar.gz
Correct a long-standing problem in elfN_map_insert(): In order to copy a
page to user space, the user space mapping must allow write access. In collaboration with: tegge@ MFC after: 3 weeks
Diffstat (limited to 'sys/kern/imgact_elf.c')
-rw-r--r--sys/kern/imgact_elf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index b51e7d7..7fd6a64 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -303,7 +303,7 @@ __elfN(map_insert)(vm_map_t map, vm_object_t object, vm_ooffset_t offset,
* to copy the data. Sigh.
*/
rv = vm_map_find(map, NULL, 0, &start, end - start,
- FALSE, prot, max, 0);
+ FALSE, prot | VM_PROT_WRITE, max, 0);
if (rv)
return (rv);
if (object == NULL)
OpenPOWER on IntegriCloud