Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   joerg
Date:           Sat May  6 21:34:52 UTC 2017

Modified Files:
        src/lib/libc/sys: mmap.2 mprotect.2 mremap.2
        src/share/man/man9: uvm_map.9
        src/sys/compat/linux/common: linux_misc.c
        src/sys/kern: exec_subr.c kern_pax.c
        src/sys/sys: mman.h pax.h
        src/sys/uvm: uvm_extern.h uvm_map.c uvm_mmap.c uvm_mremap.c uvm_unix.c
        src/tests/lib/libc/sys: t_mprotect.c

Log Message:
Extend the mmap(2) interface to allow requesting protections for later
use with mprotect(2), but without enabling them immediately.

Extend the mremap(2) interface to allow duplicating mappings, i.e.
create a second range of virtual addresses references the same physical
pages. Duplicated mappings can have different effective protections.

Adjust PAX mprotect logic to disallow effective protections of W&X, but
allow one mapping W and another X protections. This obsoletes using
temporary files for purposes like JIT.

Adjust PAX logic for mmap(2) and mprotect(2) to fail if W&X is requested
and not silently drop the X protection.

Improve test cases to ensure correct operation of the changed
interfaces.


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/lib/libc/sys/mmap.2
cvs rdiff -u -r1.24 -r1.25 src/lib/libc/sys/mprotect.2
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/sys/mremap.2
cvs rdiff -u -r1.6 -r1.7 src/share/man/man9/uvm_map.9
cvs rdiff -u -r1.237 -r1.238 src/sys/compat/linux/common/linux_misc.c
cvs rdiff -u -r1.76 -r1.77 src/sys/kern/exec_subr.c
cvs rdiff -u -r1.58 -r1.59 src/sys/kern/kern_pax.c
cvs rdiff -u -r1.51 -r1.52 src/sys/sys/mman.h
cvs rdiff -u -r1.25 -r1.26 src/sys/sys/pax.h
cvs rdiff -u -r1.203 -r1.204 src/sys/uvm/uvm_extern.h
cvs rdiff -u -r1.343 -r1.344 src/sys/uvm/uvm_map.c
cvs rdiff -u -r1.163 -r1.164 src/sys/uvm/uvm_mmap.c
cvs rdiff -u -r1.18 -r1.19 src/sys/uvm/uvm_mremap.c
cvs rdiff -u -r1.47 -r1.48 src/sys/uvm/uvm_unix.c
cvs rdiff -u -r1.6 -r1.7 src/tests/lib/libc/sys/t_mprotect.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index