diff options
author | 2013-09-21 10:04:42 +0000 | |
---|---|---|
committer | 2013-09-21 10:04:42 +0000 | |
commit | d2d5200d0d05dcf3b64b6b40ad8a63a64c6b5496 (patch) | |
tree | b6621f9241fe300a06bee91e28e258721ebd0e5e /sys/arch/sparc | |
parent | Don't invoke pmap_copy() on map holes. (diff) | |
download | wireguard-openbsd-d2d5200d0d05dcf3b64b6b40ad8a63a64c6b5496.tar.xz wireguard-openbsd-d2d5200d0d05dcf3b64b6b40ad8a63a64c6b5496.zip |
Create process map holes with UVM_INH_SHARE so that they don't get lost in
fork-without-exec situation (such as privsep'd binaries).
Fixes occasional SIGSEGV in syslogd and pflogd on sun4/4c/4e.
Diffstat (limited to 'sys/arch/sparc')
-rw-r--r-- | sys/arch/sparc/sparc/pmap.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/sparc/sparc/pmap.c b/sys/arch/sparc/sparc/pmap.c index c83d2791906..1b1507a40a0 100644 --- a/sys/arch/sparc/sparc/pmap.c +++ b/sys/arch/sparc/sparc/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.162 2013/06/11 16:42:11 deraadt Exp $ */ +/* $OpenBSD: pmap.c,v 1.163 2013/09/21 10:04:42 miod Exp $ */ /* $NetBSD: pmap.c,v 1.118 1998/05/19 19:00:18 thorpej Exp $ */ /* @@ -6274,7 +6274,7 @@ pmap_remove_holes(struct vm_map *map) (void)uvm_map(map, &shole, ehole - shole, NULL, UVM_UNKNOWN_OFFSET, 0, - UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE, + UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_SHARE, UVM_ADV_RANDOM, UVM_FLAG_NOMERGE | UVM_FLAG_HOLE | UVM_FLAG_FIXED)); } |