From: Michael Pratt Date: Wed, 2 Oct 2024 21:20:12 +0000 (-0400) Subject: [release-branch.go1.23] syscall: use SYS_EXIT_GROUP in CLONE_PIDFD feature check... X-Git-Tag: go1.23.3~10 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=6495ce0495041ba28fdbad8ae8b0e0996481e6f4;p=gostls13.git [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 LUCI-TryBot-Result: Go LUCI (cherry picked from commit 47a99359206f0dd41228deda0aa31f1e769cc156) Reviewed-on: https://go-review.googlesource.com/c/go/+/617716 --- 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) } }