go/api/next
Kir Kolyshkin da7ee57f40 syscall: add support to get pidfd from ForkExec on Linux
Add PidFD support, so that if the PidFD pointer in SysProcAttr is not
nil, ForkExec (and thus all its users) obtains a pidfd from the kernel
during clone(), and writes the result (or -1, if the functionality
is not supported by the kernel) into *PidFD.

The functionality to get pidfd is implemented for both clone3 and clone.
For the latter, an extra argument to rawVforkSyscall is needed, thus the
change in asm files.

Add a trivial test case checking the obtained pidfd can be used to send
a signal to a process, using pidfd_send_signal. To test clone3 code path,
add a flag available to tests only.

Updates #51246.

Change-Id: I2212b69e1a657163c31b4a6245b076bc495777a3
Reviewed-on: https://go-review.googlesource.com/c/go/+/520266
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Kirill Kolyshkin <kolyshkin@gmail.com>
2023-09-07 19:11:15 +00:00
..
50102.txt archive/tar: add FileInfoNames interface 2023-08-07 00:25:25 +00:00
51246.txt syscall: add support to get pidfd from ForkExec on Linux 2023-09-07 19:11:15 +00:00
51971.txt net/http: add ServeFileFS, FileServerFS, NewFileTransportFS 2023-08-07 17:07:12 +00:00
53693.txt encoding: add AppendEncode and AppendDecode 2023-08-17 16:23:42 +00:00
54898.txt archive/zip: add AddFS method to zip Writer 2023-07-31 18:10:41 +00:00
56353.txt slices: add Concat 2023-08-08 14:31:39 +00:00
59599.txt reflect: deprecate PtrTo 2023-07-27 23:28:51 +00:00
60061.txt go/ast: add Unparen(Expr) helper 2023-07-20 20:19:51 +00:00
60088.txt reflect: add TypeFor 2023-07-31 15:50:15 +00:00
60370.txt database/sql: add Null[T] 2023-08-07 14:26:37 +00:00