1222 Commits

Author SHA1 Message Date
Tobias Klauser
d25a7aaff8 unix: add IoctlSetString on all platforms
Currently, only solaris provides IoctlSetString. However, it might be
useful on other platforms too, e.g. for SIOCBRADDBR on linux.

Change-Id: I19ed47a3e4ed0180ba6777bc193e32bfb61c0506
Reviewed-on: https://go-review.googlesource.com/c/sys/+/720200
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Florian Lehner <lehner.florian86@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
2026-01-16 14:09:47 -08:00
HuShuai
6fb913b30f unix: return early on error in Recvmsg
Currently, Recvmsg may access the rsa buffer even if the underlying syscall
returns an error.

This change aligns Recvmsg with the safer logic already
used in RecvmsgBuffers, ensuring the address is only processed when
the syscall succeeds (err == nil).

Fixes golang/go#76848

Change-Id: If76477d0362b802e54ee6d27d0e8f57024a8a1dc
Reviewed-on: https://go-review.googlesource.com/c/sys/+/734740
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Florian Lehner <lehner.florian86@gmail.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
2026-01-09 08:08:59 -08:00
Florian Zenker
08e54827f6 unix: fix out of bounds memory access in tests
sockaddrIUCVToAny used the wrong size to for copying to RawSockaddrAny.
We found this by running the test with ASAN.

Change-Id: I2a2ec28f9bd55aeba4ddcb4243ad61ec010087df
Reviewed-on: https://go-review.googlesource.com/c/sys/+/724280
Reviewed-by: Michael Stapelberg <stapelberg@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2025-11-25 07:35:26 -08:00
Tobias Klauser
ca631161e4 unix: add IOCTL_MEI_* constants
Change-Id: I4efea3d97ae21ea81758e492cabc980b48e5d4c2
Reviewed-on: https://go-review.googlesource.com/c/sys/+/718440
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
2025-11-12 10:01:23 -08:00
Benny Siegert
a4199c0bfe unix: fix definition of Statvfs_t for netbsd-arm.
This will fix the test failure on the netbsd-arm builder, but it is not
quite a real fix.

struct statvfs changed between NetBSD 9 and NetBSD 10, with notably the
"spare" member switching from [4]uint32 to [4]uint64. In addition, there
is a new member at the end with label information, if available. The
netbsd-arm builder runs on NetBSD 10, so it runs into an issue
casting the binary data into a Statvfs_t with the wrong padding.

I don't know why the issue does not happen on arm64.

It does not happen on 386 and amd64 because these builders are running
NetBSD 9 still.

The real fix would be to use the statvfs90 compat syscall on NetBSD 10
and up, but not on 9 and below.

Fixes golang/go#76097.

Change-Id: I57ce6651d0ba05027a9fb29ee84c72a5225bcd67
Reviewed-on: https://go-review.googlesource.com/c/sys/+/717100
Run-TryBot: Benny Siegert <bsiegert@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2025-11-09 22:33:32 -08:00
Tobias Klauser
ed38ca2d41 unix: add SizeofNhmsg and SizeofNexthopGrp
These were missed in CL 227357.

For golang/go#38249

Change-Id: Iab75145ae77a027e11bc4cad75300af0a510a537
Reviewed-on: https://go-review.googlesource.com/c/sys/+/716780
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Florian Lehner <lehner.florian86@gmail.com>
2025-11-04 13:29:33 -08:00
Florian Lehner
2a15272850 unix: add consts for ELF handling
This adds a few constants that help to handle ELF files and coredumps.

Change-Id: Ifd4c1bd4c8839065af4233ccbf42964a8e96fdf8
Reviewed-on: https://go-review.googlesource.com/c/sys/+/713980
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Sean Liao <sean@liao.dev>
Auto-Submit: Sean Liao <sean@liao.dev>
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2025-10-29 13:35:45 -07:00
Kir Kolyshkin
28c5bda5d4 unix: add SetMemPolicy and its mode/flag values
This reuses CPUSet type as it fits perfectly.

No GetMemPolicy support yet.

Change-Id: I549361bc1ed95ee73fd38d00277ec0f9f348a9ba
Reviewed-on: https://go-review.googlesource.com/c/sys/+/706917
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Antti Kervinen <antti.kervinen@gmail.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
2025-10-08 14:29:03 -07:00
Kir Kolyshkin
b731f782ac unix/linux: switch to ubuntu 25.04, Go 1.25.1
Ubuntu 24.10 is not supported since July 2025 (and some of its apt repos
are apparently removed), and so mkall.sh no longer works (as of today).

Fix this by switching to (currently supported) Ubuntu 25.04.

NOTE that we can't switch to
 - Ubuntu 24.04 LTS release (see CL 618075);
 - Ubuntu 25.10 as it lacks mips support;
 - Debian Stable (13) as it also lacks mips support.

Also, bump Go to 1.25.1.

No changes in generated content after running

	GOOS=linux GOARCH=amd64 ./mkall.sh

Change-Id: I58a4856cda93a85af51f4a519c6e4e25f31a39b4
Reviewed-on: https://go-review.googlesource.com/c/sys/+/706915
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
2025-10-08 14:29:00 -07:00
Kir Kolyshkin
1edeebeea0 unix: mkall.sh: fail if docker build failed
When docker build fails, docker run (in my case podman) tries to find
the generate:linux image from various mirrors, which is very confusing.
We should error out if docker build fails.

Change-Id: I4fd78e9fa339e03029b1bf003b3239ca23a7ed1b
Reviewed-on: https://go-review.googlesource.com/c/sys/+/706916
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Kirill Kolyshkin <kolyshkin@gmail.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: Carlos Amedee <carlos@golang.org>
2025-10-02 13:28:30 -07:00
Tobias Klauser
ecada54126 unix: use slices.{Equal,Sort} in tests
Same as CL 587655 and CL 690475 did for package syscall tests.

Change-Id: Ie3c8726a4e2c859b5d7992ea1baec14083b9fdba
Reviewed-on: https://go-review.googlesource.com/c/sys/+/708558
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Florian Lehner <lehner.florian86@gmail.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Sean Liao <sean@liao.dev>
2025-10-02 11:15:31 -07:00
Aleksa Sarai
033906b9f0 unix: add (*CPUSet).Fill helper to enable all CPUs
Some programs (such as container runtimes) want to reset their CPU
affinity if they are spawned by processes with a particular CPU
affinity. Container runtimes didn't really have to deal with this issue
until Linux 6.2 when the cpuset cgroup was changed to no longer
auto-reset CPU affinity in this case.

A naive approach to resetting your CPU affinity would be to get the
number of CPUs by looking at "/proc/stat" or "/sys/devices/system/cpu"
(note that runtime.NumCPU() actually returns the CPU affinity of the
process at startup time, which isn't useful for this purpose) and then
asking for all of those CPUs.

However, sched_setaffinity(2) will silently ignore any CPU bits set in
the provided CPUSet if they do not exist or are not enabled in the
cpuset cgroup of the process. This means that you can reset your CPU
affinity by just setting every CPU bit in CPUSet and passing it to
sched_setaffinity(2).

Unfortunately, setting every CPU bit in CPUSet with (*CPUSet).Set() is
very inefficient. If it were possible to just memset(0xFF) the CPUSet
array, users would be able to reset their CPU affinity even more
cheaply. However, Go doesn't have a memset primitive that can be used in
that way.

Obvious solutions like setting the array elements of CPUSet to (^0) do
not work because CPUSet is an array of a private newtype and so the
compiler complains if you try to use a constant like (^0) without a
cast (and we cannot use a cast because the type is private):

    cannot use ^0 (untyped int constant -1) as
    "golang.org/x/sys/unix".cpuMask value in assignment (overflows)

The only real alternative is to do something quite hacky like:

    cpuset := unix.CPUSet{}
    for i := range cpuset {
        cpuset[i]-- // underflow to 0xFF..FF
    }

... which is the solution we use in runc.

It would be much nicer to have a helper that does this memset for us in
a less hacky way, since resetting CPU affinity seems like a fairly
common operation.

Ref: Linux kernel commit da019032819a ("sched: Enforce user requested affinity")
Fixes golang/go#75186

Change-Id: I211ddeafd54ce35079a67493123d28e1bb76966a
GitHub-Last-Rev: 71871db0f3
GitHub-Pull-Request: golang/sys#259
Reviewed-on: https://go-review.googlesource.com/c/sys/+/698015
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Kirill Kolyshkin <kolyshkin@gmail.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
2025-09-26 10:17:15 -07:00
Kir Kolyshkin
32e203842b unix: use Go 1.21+ clear built-in
Inspired by CL 698495.

Change-Id: Ic6ff68a60d41b6ffb6a28f523597c5d36c1e4d2f
Reviewed-on: https://go-review.googlesource.com/c/sys/+/704915
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: Mark Freeman <markfreeman@google.com>
2025-09-18 13:57:09 -07:00
Thomas Klausner
137f2eda35 sys: add support for NetBSD getvfsstat
NetBSD replaced the getfsstat interface with getvfsstat in NetBSD 3.0.

Add a test for it.

With help from Benny Siegert and Ian Lance Taylor.

Change-Id: I115ae48c287cc32181006e9e8f7c15851e7e36c0
Reviewed-on: https://go-review.googlesource.com/c/sys/+/550476
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Benny Siegert <bsiegert@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Benny Siegert <bsiegert@gmail.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
2025-09-17 07:50:20 -07:00
Jiwon Na
689cc11b26 unix: fix Listen on solaris
libsocket has __xnet_listen, not __xnet_llisten
which prevents listen from working.

Change-Id: Ia06dc569fcb9950893d91fc1b86257c7742e9e3d
GitHub-Last-Rev: 6f37c4b814
GitHub-Pull-Request: golang/sys#258
Reviewed-on: https://go-review.googlesource.com/c/sys/+/691735
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Jes Cok <xigua67damn@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2025-09-05 08:17:06 -07:00
Juan-Luis de Sousa-Valadas Castaño
0293703b0a unix: add IFAL_* consts and ifaddrlblmsg on linux
Implments consts and structs related to ifaddrlabel

Change-Id: I6dd78e74a8e32a26286b95b0a7a20343cb16a446
GitHub-Last-Rev: 11be45c36d
GitHub-Pull-Request: golang/sys#252
Reviewed-on: https://go-review.googlesource.com/c/sys/+/683775
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Florian Lehner <lehner.florian86@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
2025-09-03 08:33:29 -07:00
Florian Lehner
ab85cbbe91 unix/linux: extend rtnetlink constants
Change-Id: Icc356897519c0aa229a948918a253b9e4b367aff
Reviewed-on: https://go-review.googlesource.com/c/sys/+/697795
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
2025-08-25 12:31:12 -07:00
Aleksa Sarai
9bd37534d8 unix: switch (*CPUSet).Zero to clear builtin
clear was added to Go 1.21 and is better than the manual loop approach.

Change-Id: I851203714446e21b6329e2bcf308f2571d339e36
GitHub-Last-Rev: 71dc7f073e
GitHub-Pull-Request: golang/sys#262
Reviewed-on: https://go-review.googlesource.com/c/sys/+/698495
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Auto-Submit: Keith Randall <khr@golang.org>
2025-08-25 10:48:03 -07:00
Tobias Klauser
5b936e1f12 unix/linux: update to Linux kernel 6.16, Go to 1.24.5
Change-Id: Id0b60b5bbc33c48e49ba655babf0856878960e29
Reviewed-on: https://go-review.googlesource.com/c/sys/+/693215
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2025-08-06 14:03:43 -07:00
database64128
3a827038f2 unix: remove redundant xnu version check for {p}readv/{p}writev
As discussed later in golang/go#64710, these checks are unnecessary.

For golang/go#64710

Change-Id: I8693af81cc543b886732922eb5cd64e07ed4b7a8
Reviewed-on: https://go-review.googlesource.com/c/sys/+/688858
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Mark Freeman <mark@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
2025-07-30 07:39:06 -07:00
nickgarlis
9920300fc8 unix: add missing nft conntrack constants
The following constants were missing for nft conntrack:

- NFT_CT_SRC_IP
- NFT_CT_DST_IP
- NFT_CT_SRC_IP6
- NFT_CT_DST_IP6
- NFT_CT_ID

https://git.netfilter.org/libnftnl/tree/include/linux/netfilter/nf_tables.h?id=7a7722ee336fac14690851f6c84965582a741601#n1173

Change-Id: I2f9bd12c1ab8569ee019310c040b46b214f65b76
GitHub-Last-Rev: 8fac63b187
GitHub-Pull-Request: golang/sys#257
Reviewed-on: https://go-review.googlesource.com/c/sys/+/689922
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mark Freeman <mark@golang.org>
2025-07-28 12:41:30 -07:00
cuishuang
ad4e0fcb71 unix: remove redundant word in comment
Change-Id: I8b05b5cea86d41423dac9fd96a5000a6daa1e8c3
Reviewed-on: https://go-review.googlesource.com/c/sys/+/690816
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Mark Freeman <mark@golang.org>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
2025-07-28 11:24:37 -07:00
database64128
084ad875b3 unix: fix //sys decl after CL 548795
CL 548795 mistakenly changed one of the //sys declaration to "// sys"
while resolving a merge conflict.

For golang/go#64710

Change-Id: I029b461fd3ca7b76f3bd23b3343f7e63c4bb09f3
Reviewed-on: https://go-review.googlesource.com/c/sys/+/688857
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2025-07-25 11:55:20 -07:00
Que Zhiyong
751c3c6ac2 unix: add missing NFT_PAYLOAD_* consts on linux
Change-Id: Id222e11029596d2ea2679e065780171ed3c7708a
GitHub-Last-Rev: 649d64b1c3
GitHub-Pull-Request: golang/sys#250
Reviewed-on: https://go-review.googlesource.com/c/sys/+/681435
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2025-06-17 10:35:38 -07:00
Tobias Klauser
0c740cc0f8 unix: update Go to 1.24.3
Change-Id: I526bfbde6e57b8e7aea6cd31e3cff46608755aa0
Reviewed-on: https://go-review.googlesource.com/c/sys/+/673055
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
2025-06-13 07:34:22 -07:00
Tobias Klauser
d62d31c616 unix: update Linux constants and types to v6.14
CL 660375 updated the kernel version in the Dockerfile but for some
reason no constant or types were updated. Refresh them now and also add
new ETHTOOL_* and NL80211_* enum types while at it.

Change-Id: I73bc509963f0b89f6d461eeca4b210626ab44975
Reviewed-on: https://go-review.googlesource.com/c/sys/+/673076
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
2025-06-13 07:33:12 -07:00
Tobias Klauser
01aaa8342f all: simplify code by using modern Go constructs
Generated using modernize by running:

    go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...

Change-Id: Ifc7d61cf6735cc53f2bdf890a338961f55075af5
Reviewed-on: https://go-review.googlesource.com/c/sys/+/661975
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2025-04-03 13:04:48 -07:00
Mauri de Souza Meneguzzo
1c3b72f1c1 unix: update Linux kernel to 6.14
No new syscalls or constants in this release, just bumping the version number.

Change-Id: I97f7e1092bb78d99342552ba18e1ea3cd40681f4
GitHub-Last-Rev: df5cca1a90
GitHub-Pull-Request: golang/sys#247
Reviewed-on: https://go-review.googlesource.com/c/sys/+/660375
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2025-03-26 05:30:21 -07:00
Manuel Schönlaub
3330b5e756 unix: support Readv, Preadv, Writev and Pwritev for darwin
Darwin, starting with Big Sur, supports vectorized IO.

Fixes golang/go#64710

Change-Id: Ic3a3c51009eab24f70665d8d3a145b328a7713c6
Reviewed-on: https://go-review.googlesource.com/c/sys/+/548795
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
2025-03-20 08:06:05 -07:00
Mauri de Souza Meneguzzo
863b3c4ac4 unix: update glibc to 2.41
Change-Id: I1796b552f854a15e8ef5e019e247c4d7e0644086
GitHub-Last-Rev: 3518c62005
GitHub-Pull-Request: golang/sys#244
Reviewed-on: https://go-review.googlesource.com/c/sys/+/645436
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
2025-01-31 07:57:49 -08:00
Florian Lehner
4d4692e1b0 unix: add Auxv
Fixes golang/go#67839

Change-Id: I3af38d21159f7cac3786b49ac17657d314fbc178
Reviewed-on: https://go-review.googlesource.com/c/sys/+/644295
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
2025-01-31 07:53:42 -08:00
Mauri de Souza Meneguzzo
b215a1c6fc unix: update to Linux kernel 6.13
Change-Id: I4c49a78bd2abf2ac9e4d461680c92ae65be14544
GitHub-Last-Rev: 888e68d533
GitHub-Pull-Request: golang/sys#243
Reviewed-on: https://go-review.googlesource.com/c/sys/+/642199
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
2025-01-21 14:32:54 -08:00
Nahum Shalman
1c14dcadc3 unix: add GetPeerUcred and UcredGet for solaris
Change-Id: I74ba119fb729ef46899de04c686115f960975bb3
Reviewed-on: https://go-review.googlesource.com/c/sys/+/639755
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2025-01-07 00:03:00 -08:00
Tobias Klauser
a7f19e9c20 unix: add Dup3 on dragonfly
Use the same implementation as on freebsd which is also what the
dragonfly libc uses.

Change-Id: I0ed513ae15fcb6dac77b2fc76f662723d66b75c6
Reviewed-on: https://go-review.googlesource.com/c/sys/+/636435
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2024-12-17 08:13:49 -08:00
Ian Lance Taylor
fe16172d11 unix: define IfMsghdr2, IfData64, and RtMsghdr2 on darwin
Change-Id: I6943f6b5bd9f7d0ef5bad24ed638b8cf5dd0353d
Reviewed-on: https://go-review.googlesource.com/c/sys/+/633077
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
2024-12-03 18:44:20 +00:00
Mauri de Souza Meneguzzo
0a57dbcf35 unix: update to kernel Linux 6.12
Change-Id: I7c8157d5f1b597b6ae249b20866bbad918b46fa4
GitHub-Last-Rev: 0bbc2efbab
GitHub-Pull-Request: golang/sys#238
Reviewed-on: https://go-review.googlesource.com/c/sys/+/629075
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-11-18 19:38:36 +00:00
Tobias Klauser
3cf1e67d0c unix: don't fail TestPpoll on EINTR
TestPpoll sometimes fails builders due to Ppoll getting interrupted and
returning EINTR:

--- FAIL: TestPpoll (0.00s)
    syscall_linux_test.go:299: Ppoll: unexpected error: interrupted system call

Fix this by retrying Ppoll in case of EINTR, same as CL 298189 in
TestPoll.

Fixes golang/go#66324

Change-Id: I8ce4e2c00fe3b7a078cd75b4b15bb076d3a87fb2
Reviewed-on: https://go-review.googlesource.com/c/sys/+/627395
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-11-13 21:52:06 +00:00
Mac Malainey
ca0404159d unix: extend z/OS support
extend support for z/OS target by adding the following syscalls:
- Sendfile (library implementation)
- Fcntl
- MmapPtr
- MunmapPtr

Change-Id: I098748802c2b275c15758e9d0132fca0490e9b70
GitHub-Last-Rev: 5aafd0b757
GitHub-Pull-Request: golang/sys#223
Reviewed-on: https://go-review.googlesource.com/c/sys/+/620375
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Bill O'Farrell <billotosyr@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-10-29 15:10:58 +00:00
Tobias Klauser
18e038c8ee unix: move NETLINK_* consts to own section
This makes it easier to distinguish them from the IFLA_* and add new
entries. Also refresh the IFLA_* consts while at it.

Change-Id: I94aa56c9f99d0714668d8150cb6185d57e2d789c
Reviewed-on: https://go-review.googlesource.com/c/sys/+/622515
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
2024-10-28 15:03:49 +00:00
Dmitri Shuralyov
cff53d5a33 unix: gofmt after CL 610296
Also remove a few unhelpful blank lines.

Change-Id: I4001a25ec409406855b7800afd88738c43f60b90
Reviewed-on: https://go-review.googlesource.com/c/sys/+/621921
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
2024-10-25 18:35:15 +00:00
Joon Lee
123459f096 unix: update z/OS implementation of fcntl and mmap
- Add a wrapper function around fcntl to handle different operation
  types and new fcntl implementation that accepts uintptr as an arg.
- Add support for calling mmap/munmap with address pointers.
- Add accompanying tests for new functions.

Change-Id: If5e77aa4cf2cccfd431de4f3bd0c5014a761e167
GitHub-Last-Rev: 07e32a4ab7
GitHub-Pull-Request: golang/sys#216
Reviewed-on: https://go-review.googlesource.com/c/sys/+/610296
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
2024-10-25 15:27:13 +00:00
Tobias Klauser
df4a4da00c unix/linux: adjust Dockerfile ENV key value format
This fixes the following warnings emitted when running mkall.sh on
GOOS=linux with a recent Docker version:

 6 warnings found (use --debug to expand):
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 4)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 24)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 25)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 26)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 33)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 56)

Also see https://docs.docker.com/reference/build-checks/legacy-key-value-format/

Change-Id: Icdf05cbe7b8650fc2fec84e010c7401807f5f75f
Reviewed-on: https://go-review.googlesource.com/c/sys/+/621956
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-10-24 15:42:44 +00:00
Tobias Klauser
696d3420cc unix: gofmt after CL 621375
Change-Id: Ibcd776913317d3b38b418190fa93c6eae52ffc0d
Reviewed-on: https://go-review.googlesource.com/c/sys/+/621955
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-10-24 15:37:41 +00:00
Yaroslav Kolomiiets
60d787735c unix: add PTP_PF_* constants on Linux
These represent valid values for PtpPinDesc.Func.
They are defined as enum, thus not emitted from mkerrors.sh.

Change-Id: Ibac22d56214fa0f64a4095dfc000692a5e5e994a
GitHub-Last-Rev: e7990b0882
GitHub-Pull-Request: golang/sys#229
Reviewed-on: https://go-review.googlesource.com/c/sys/+/621735
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
2024-10-23 15:19:30 +00:00
Yaroslav Kolomiiets
256d1dfe8f unix: add PTP IOCTLs on Linux
The IOCTLs are used for interacting with PTP-specific functions of NIC and time card drivers.

Description:
https://netdevconf.info/0x18/docs/netdev-0x18-paper39-talk-slides/netdev-intro-ptp-api.pdf

Change-Id: If50d605958e5cee451146cf68cc95a3704917512
GitHub-Last-Rev: 44fac1cb1a
GitHub-Pull-Request: golang/sys#225
Reviewed-on: https://go-review.googlesource.com/c/sys/+/621375
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
2024-10-21 18:42:12 +00:00
Yaroslav Kolomiiets
a57fdb8507 unix: add IoctlGetHwTstamp/IoctlGetHwTstamp on Linux
Add the ioctls to get/set the hardware timestamping configuration
(SIOCSHWTSTAMP and SIOCGHWTSTAMP) along with relevant symbols.

The usage is described in
https://www.kernel.org/doc/Documentation/networking/timestamping.txt

Change-Id: Ib7509feaf28218aeae497eff9ca6c0a532aa73c0
GitHub-Last-Rev: 47dc9dfec2
GitHub-Pull-Request: golang/sys#224
Reviewed-on: https://go-review.googlesource.com/c/sys/+/620376
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-10-16 17:41:25 +00:00
Guoqi Chen
3932916d5c unix: switch to Ubuntu 24.10 in Dockerfile
ubuntu 24.04 introduced support for qemu-loongarch64, and ubuntu 24.10
introduced support for the cross-compiler gcc-loongarch64-linux-gnu, so
we can temporarily switch to ubuntu 24.10 to discard the extra links
introduced by loong64 and switch to it when the next ubuntu LTS version
is released.

Change-Id: I96de123df0cf50d6ba0331eeb02fc1e8c48ce304
Reviewed-on: https://go-review.googlesource.com/c/sys/+/618075
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
2024-10-14 16:58:48 +00:00
cuishuang
2dfefb6832 all: execute gofmt
Change-Id: I55aef760145df773be30d567c9e989f46a3e79dc
Reviewed-on: https://go-review.googlesource.com/c/sys/+/618898
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2024-10-11 18:38:43 +00:00
Yaroslav Kolomiiets
e5eee7e480 unix: add IoctlGetEthtoolTsInfo on Linux
The function fetches ethtool timestamping and PHC association for a
network interface. Its primary usage is to query the mapping between
the interface and its corresponding PTP clock number in /dev/ptp𝑛.

Change-Id: Id09466b3b43056c628593d4d2e05d77ec8d8082b
GitHub-Last-Rev: 3743a3a650
GitHub-Pull-Request: golang/sys#222
Reviewed-on: https://go-review.googlesource.com/c/sys/+/619335
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
2024-10-11 16:50:38 +00:00
Yaroslav Kolomiiets
fe162bad74 unix: add ClockSettime on Linux
The syscall clock_settime(3) is used to set the time on the specified
clock. It is a counterpart to clock_gettime(3) which is already
exposed as ClockGettime here.

Fixes golang/go#69830

Change-Id: I6145c915754f31e3c50f6a11568eb9d5ba12a778
GitHub-Last-Rev: 5b15f129cc
GitHub-Pull-Request: golang/sys#221
Reviewed-on: https://go-review.googlesource.com/c/sys/+/619255
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-10-10 19:53:43 +00:00