]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.23] syscall: use SYS_EXIT_GROUP in CLONE_PIDFD feature check...
authorMichael Pratt <mpratt@google.com>
Wed, 2 Oct 2024 21:20:12 +0000 (17:20 -0400)
committerCherry Mui <cherryyz@google.com>
Fri, 11 Oct 2024 17:02:01 +0000 (17:02 +0000)
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

src/syscall/exec_linux.go

index 3e15676fcb3d5f3cf6bb27cf2574d0dc1cdf20dc..dfd9a8368a9e50b2f27e242f9e5f18e72e5cb893 100644 (file)
@@ -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)
        }
 }