diff options
author | alc <alc@FreeBSD.org> | 2005-12-17 19:40:47 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2005-12-17 19:40:47 +0000 |
commit | 8f7e8790b1a43b2dfe0f99c331ca62bee4ae84e7 (patch) | |
tree | 22f4ba68c00dff4329ddeb5ff98170ce02000d11 /sys/kern | |
parent | 9465e980cdaf201beb1f77fadf3d612c43069b0c (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/kern/imgact_elf.c | 2 |
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) |