diff options
| author | Ian Lance Taylor <iant@golang.org> | 2025-07-07 13:01:34 -0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2025-07-08 08:04:03 -0700 |
| commit | bb917bb0303843467e809a3a373e4bb2d359fcfa (patch) | |
| tree | 509313e432c94e8c03979b15b76e88b7ac1162ef /src/cmd/compile | |
| parent | a5bda585d5912b291aa247c8aa6519d2cc3125d7 (diff) | |
| download | go-bb917bb0303843467e809a3a373e4bb2d359fcfa.tar.xz | |
cmd/compile: document that nosplit directive is unsafe
For #74478
Change-Id: I902e9a92cdacb5ad6dafa9896640f8196ba1d56a
Reviewed-on: https://go-review.googlesource.com/c/go/+/686115
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
Auto-Submit: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Diffstat (limited to 'src/cmd/compile')
| -rw-r--r-- | src/cmd/compile/doc.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/compile/doc.go b/src/cmd/compile/doc.go index f76f402f38..81e6189a26 100644 --- a/src/cmd/compile/doc.go +++ b/src/cmd/compile/doc.go @@ -253,6 +253,9 @@ The //go:nosplit directive must be followed by a function declaration. It specifies that the function must omit its usual stack overflow check. This is most commonly used by low-level runtime code invoked at times when it is unsafe for the calling goroutine to be preempted. +Using this directive outside of low-level runtime code is not safe, +because it permits the nosplit function to overwrite the end of stack, +leading to memory corruption and arbitrary program failure. # Linkname Directive |
