runtime: revert Linux signal stack mlock workaround #35979
Labels
early-in-cycle
A change that should be done early in the 3 month dev cycle.
FrozenDueToAge
NeedsFix
The path to resolution is known, but the work has not been done.
Milestone
For Go 1.14, we worked around a Linux kernel bug that caused vector register corruption on return from the signal handler (#35777, kernel bug).
The workaround is non-trivial and impossible to do 100% correctly from user space. Also, the affected Linux kernel releases are unlikely to be in the wild by the Go 1.15 release. Hence, I propose that we revert CLs 209597 and 209899 for Go 1.15.
The bug was introduced in Linux 5.2, though generally wasn't visible until Linux 5.3 because it also required GCC 9, which Linux 5.2's default configuration was incompatible with. It was fixed in Linux 5.3.15 and 5.4.2, and the fix will appear in all 5.5 and future releases. 5.4 is a long-term support release, and 5.4.2 was released with the fix just 10 days after 5.4, so by Go 1.15, stable distributions will have the patched kernel, and unstable distributions will have long since moved on to more recent kernels.
The text was updated successfully, but these errors were encountered: