]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: use SYS_EXIT_GROUP in CLONE_PIDFD feature check child
authorMichael Pratt <mpratt@google.com>
Wed, 2 Oct 2024 21:20:12 +0000 (17:20 -0400)
committerMichael Pratt <mpratt@google.com>
Thu, 3 Oct 2024 13:57:21 +0000 (13:57 +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.

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>

src/syscall/exec_linux.go

index a258b1591e736582a2c9cf59d55eacf5120265a3..0009080d681f9339b02164a7b9bd2380dbb5e882 100644 (file)
@@ -836,6 +836,6 @@ func doCheckClonePidfd(pidfd *int32) (pid uintptr, errno Errno) {
        }
 
        for {
-               RawSyscall(SYS_EXIT, 0, 0, 0)
+               RawSyscall(SYS_EXIT_GROUP, 0, 0, 0)
        }
 }