diff options
author | 2011-05-24 15:27:36 +0000 | |
---|---|---|
committer | 2011-05-24 15:27:36 +0000 | |
commit | 4e3da9ea5c5c5f4e31e57e65a6f97720cfa2a93f (patch) | |
tree | d9bb5c2f86c9031ede4e5ba19468f965cd1ce33e /sys/kern/kern_exec.c | |
parent | Merge pf_scrub_ip() and pf_scrub_ip6() into a single function. Call (diff) | |
download | wireguard-openbsd-4e3da9ea5c5c5f4e31e57e65a6f97720cfa2a93f.tar.xz wireguard-openbsd-4e3da9ea5c5c5f4e31e57e65a6f97720cfa2a93f.zip |
Reimplement uvm/uvm_map.
vmmap is designed to perform address space randomized allocations,
without letting fragmentation of the address space go through the roof.
Some highlights:
- kernel address space randomization
- proper implementation of guardpages
- roughly 10% system time reduction during kernel build
Tested by alot of people on tech@ and developers.
Theo's machines are still happy.
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 1f82e1882b9..5518cf41929 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_exec.c,v 1.117 2011/04/04 13:00:13 guenther Exp $ */ +/* $OpenBSD: kern_exec.c,v 1.118 2011/05/24 15:27:36 ariane Exp $ */ /* $NetBSD: kern_exec.c,v 1.75 1996/02/09 18:59:28 christos Exp $ */ /*- @@ -810,7 +810,6 @@ exec_sigcode_map(struct proc *p, struct emul *e) } /* Just a hint to uvm_mmap where to put it. */ - p->p_sigcode = uvm_map_hint(p, VM_PROT_READ|VM_PROT_EXECUTE); uao_reference(e->e_sigobject); if (uvm_map(&p->p_vmspace->vm_map, &p->p_sigcode, round_page(sz), e->e_sigobject, 0, 0, UVM_MAPFLAG(UVM_PROT_RX, UVM_PROT_RX, |