runtime: allow crash from gsignal stack
The uses of onM in dopanic/startpanic are okay even from the signal stack.
Fixes #8666.
LGTM=khr
R=khr
CC=golang-codereviews
https://golang.org/cl/134710043
diff --git a/src/runtime/panic.go b/src/runtime/panic.go
index ac0a754..017f5d4 100644
--- a/src/runtime/panic.go
+++ b/src/runtime/panic.go
@@ -371,7 +371,7 @@
//go:nosplit
func startpanic() {
- onM(startpanic_m)
+ onM_signalok(startpanic_m)
}
//go:nosplit
@@ -381,7 +381,7 @@
mp.ptrarg[0] = unsafe.Pointer(gp)
mp.scalararg[0] = getcallerpc((unsafe.Pointer)(&unused))
mp.scalararg[1] = getcallersp((unsafe.Pointer)(&unused))
- onM(dopanic_m) // should never return
+ onM_signalok(dopanic_m) // should never return
*(*int)(nil) = 0
}