• Gustavo Niemeyer's avatar
    runtime: don't use twice the memory with grsec-like kernels · 65b036c3
    Gustavo Niemeyer authored
    grsec needs the FIXED flag to be provided to mmap, which
    works now.  That said, when the allocation fails to be made
    in the specific address, we're still given back a writable
    page.  This change will unmap that page to avoid using
    twice the amount of memory needed.
    
    It'd also be pretty easy to avoid the extra system calls
    once we detected that the flag is needed, but I'm not sure
    if that edge case is worth the effort.
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/4634086
    65b036c3
Name
Last commit
Last update
..
386 Loading commit data...
amd64 Loading commit data...
arm Loading commit data...
cgo Loading commit data...
darwin Loading commit data...
debug Loading commit data...
freebsd Loading commit data...
linux Loading commit data...
plan9 Loading commit data...
pprof Loading commit data...
windows Loading commit data...
Makefile Loading commit data...
append_test.go Loading commit data...
cgocall.c Loading commit data...
cgocall.h Loading commit data...
chan.c Loading commit data...
closure_test.go Loading commit data...
complex.c Loading commit data...
cpuprof.c Loading commit data...
debug.go Loading commit data...
error.go Loading commit data...
export_test.go Loading commit data...
extern.go Loading commit data...
float.c Loading commit data...
goc2c.c Loading commit data...
hashmap.c Loading commit data...
hashmap.h Loading commit data...
iface.c Loading commit data...
malloc.goc Loading commit data...
malloc.h Loading commit data...
mcache.c Loading commit data...
mcentral.c Loading commit data...
mem.go Loading commit data...
mfinal.c Loading commit data...
mfixalloc.c Loading commit data...
mgc0.c Loading commit data...
mheap.c Loading commit data...
mkasmh.sh Loading commit data...
mkgodefs.sh Loading commit data...
mkversion.c Loading commit data...
mprof.goc Loading commit data...
msize.c Loading commit data...
print.c Loading commit data...
proc.c Loading commit data...
proc_test.go Loading commit data...
rune.c Loading commit data...
runtime-gdb.py Loading commit data...
runtime.c Loading commit data...
runtime.h Loading commit data...
runtime1.goc Loading commit data...
sema.goc Loading commit data...
sig.go Loading commit data...
sigqueue.goc Loading commit data...
slice.c Loading commit data...
softfloat64.go Loading commit data...
softfloat64_test.go Loading commit data...
stack.h Loading commit data...
string.goc Loading commit data...
symtab.c Loading commit data...
type.go Loading commit data...
type.h Loading commit data...