go/src
Richard Miller 1b49487692 syscall: eliminate aliasing of syscall error strings in Plan 9
To avoid allocation between entersyscall and exitsyscall in Plan 9,
syscall error strings retrieved from the OS were being stored in
a shared buffer for each M, leading to overwriting of error strings
by subsequent syscalls, and potential confusion if exitsyscall
switched to a different M.  Instead, the error string is now
retrieved to the G stack and then copied to a new allocated array
after exitsyscall.

A new test TestPlan9Syserr is provided to confirm the correction.

Fixes #13770
Fixes #24921

Change-Id: I013c4a42baae80d03a5b61d828396527189f5551
Reviewed-on: https://go-review.googlesource.com/111195
Reviewed-by: David du Colombier <0intro@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: David du Colombier <0intro@gmail.com>
2018-05-08 14:57:01 +00:00
..
archive archive/zip: avoid data descriptor when writing directories 2018-05-02 23:34:50 +00:00
bufio
builtin
bytes bytes, strings: improve EqualFold fast version for ASCII 2018-05-01 18:52:19 +00:00
cmd cmd/compile: use nodl in zeroResults 2018-05-08 14:38:55 +00:00
compress compress/flate: do not rename math/bits import 2018-05-07 15:42:46 +00:00
container
context
crypto cmd/compile,test: combine byte loads and stores on ppc64le 2018-05-08 13:15:39 +00:00
database/sql database/sql: make error prefixes consistent 2018-05-05 16:27:20 +00:00
debug debug/elf: add machine and OSABI constants 2018-05-08 14:49:42 +00:00
encoding encoding/binary: returns length of bool slice in intDataSize 2018-05-08 14:48:50 +00:00
errors
expvar
flag
fmt
go vendor, net/http: update x/net for httplex to httpguts merge 2018-05-07 20:20:49 +00:00
hash
html
image
index/suffixarray
internal internal/bytealg: add wasm architecture 2018-05-08 13:28:18 +00:00
io io: calculate buffer size only when needed 2018-05-06 15:52:31 +00:00
log all: skip unsupported tests for js/wasm 2018-04-30 19:39:18 +00:00
math math, math/big: add wasm architecture 2018-05-08 13:29:22 +00:00
mime
net net: make IPString benchmarks more representative. 2018-05-07 22:15:20 +00:00
os os: remove superfluous comments 2018-05-02 14:41:57 +00:00
path path/filepath: fix Win32 tests missing 'chcp' 2018-04-26 18:25:15 +00:00
plugin
reflect runtime: add js/wasm architecture 2018-05-08 00:17:34 +00:00
regexp
runtime cmd/compile: add some generic composite type optimizations 2018-05-08 10:31:21 +00:00
sort
strconv strconv: update Unquote example to be more concise 2018-05-07 20:39:37 +00:00
strings strings: fix encoding of \u0080 in map 2018-05-04 05:37:45 +00:00
sync sync/atomic: redirect many functions to runtime/internal/atomic 2018-05-03 21:35:01 +00:00
syscall syscall: eliminate aliasing of syscall error strings in Plan 9 2018-05-08 14:57:01 +00:00
testing testing: fix racey access to t.failed 2018-05-02 17:51:26 +00:00
text text/scanner: return RawString token rather than String for raw string literals 2018-05-08 04:59:41 +00:00
time cmd/vet: better align print warnings with fmt 2018-05-04 02:57:37 +00:00
unicode cmd/compile: optimize len([]rune(string)) 2018-05-06 05:31:01 +00:00
unsafe
vendor/golang_org/x vendor, net/http: update x/net for httplex to httpguts merge 2018-05-07 20:20:49 +00:00
Make.dist
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash
make.bash src/*.bash: remove some trailing whitespace 2018-05-04 14:47:49 +00:00
make.bat
make.rc
naclmake.bash
nacltest.bash
race.bash src/*.bash: remove some trailing whitespace 2018-05-04 14:47:49 +00:00
race.bat
run.bash
run.bat
run.rc