aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Pratt <mpratt@google.com>2024-10-02 17:20:12 -0400
committerCherry Mui <cherryyz@google.com>2024-10-11 17:02:01 +0000
commit6495ce0495041ba28fdbad8ae8b0e0996481e6f4 (patch)
tree379240a927d58834371eeea92ab3ab4bd2e1d32e
parent7fc83126731de12449f7b38c32e2e318c439a6d4 (diff)
downloadgo-6495ce0495041ba28fdbad8ae8b0e0996481e6f4.tar.xz
[release-branch.go1.23] syscall: use SYS_EXIT_GROUP in CLONE_PIDFD feature check child
Inside Google we have seen issues with QEMU user mode failing to wake a parent waitid when this child exits with SYS_EXIT. This bug appears to not affect SYS_EXIT_GROUP. It is currently unclear if this is a general QEMU or specific to Google's configuration, but SYS_EXIT and SYS_EXIT_GROUP are semantically equivalent here, so we can use the latter here in case this is a general QEMU bug. For #68976. For #69259. Change-Id: I34e51088c9a6b7493a060e2a719a3cc4a3d54aa0 Reviewed-on: https://go-review.googlesource.com/c/go/+/617417 Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> (cherry picked from commit 47a99359206f0dd41228deda0aa31f1e769cc156) Reviewed-on: https://go-review.googlesource.com/c/go/+/617716
-rw-r--r--src/syscall/exec_linux.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/syscall/exec_linux.go b/src/syscall/exec_linux.go
index 3e15676fcb..dfd9a8368a 100644
--- a/src/syscall/exec_linux.go
+++ b/src/syscall/exec_linux.go
@@ -821,6 +821,6 @@ func doCheckClonePidfd(pidfd *int32) (pid uintptr, errno Errno) {
}
for {
- RawSyscall(SYS_EXIT, 0, 0, 0)
+ RawSyscall(SYS_EXIT_GROUP, 0, 0, 0)
}
}