Ian Lance Taylor
99666ae32e
unix: merge Linux readv/writev implementation with Darwin/OpenBSD
...
This reduces some code duplication.
Change-Id: Ib648f90a26960d0bc25d2fe27e9b3fb1419ac02d
Reviewed-on: https://go-review.googlesource.com/c/sys/+/777161
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com >
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Cherry Mui <cherryyz@google.com >
Auto-Submit: Ian Lance Taylor <iant@golang.org >
2026-05-18 07:51:52 -07:00
Aaqa Ishtyaq
04396e85d4
unix: add Readv, Writev, Preadv, Pwritev for OpenBSD
...
Add OpenBSD libc syscall wrappers for vectored I/O, and share the
existing Darwin wrapper implementation and tests.
Fixes golang/go#78049
Change-Id: Ie2743ef36a5cb73b05cc551c9c1108503f5992b6
Reviewed-on: https://go-review.googlesource.com/c/sys/+/771300
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Cherry Mui <cherryyz@google.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Auto-Submit: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com >
2026-05-12 12:53:07 -07:00
Mark Ryan
df7d5d7b60
unix: automatically remove container created by mkall.sh
...
When GOOS=linux, mkall.sh creates a container to run linux/mkall.go. It does not
remove this container before exiting. Therefore each time you run mkall.sh on Linux
you end up with a new stopped container that must be manually deleted with docker rm.
This is cumbersome as it may take several runs of mkall.sh to develop and test a patch
for golang/x/sys/unix resulting in multiple containers that require manual removal.
It's also a little counterintuitive as the user doesn't invoke the docker command directly
so it's not obvious that manual cleanup is required after mkall.sh completes. The
leftover containers aren't even that useful for debugging as they have an entrypoint
set.
Change-Id: I92a94ae53078f0095d3ddf1d95c4879f1bc1cb2a
Reviewed-on: https://go-review.googlesource.com/c/sys/+/513335
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: David Chase <drchase@google.com >
Reviewed-by: Florian Lehner <lehner.florian86@gmail.com >
Reviewed-by: Junyang Shao <shaojunyang@google.com >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2026-04-10 14:19:47 -07:00
Tobias Klauser
68a4a8e945
unix: avoid nil pointer dereference in Utime
...
Passing a nil buf *Utimbuf to Utime on linux/{arm,arm64,loong64,riscv64}
will cause a nil pointer dereference. Check buf explicitly to avoid this
case.
Change-Id: Ifb719f83029002f043919daa066af6b1fb4ebe03
Reviewed-on: https://go-review.googlesource.com/c/sys/+/764562
Reviewed-by: Dmitri Shuralyov <dmitshur@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: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: David Chase <drchase@google.com >
2026-04-10 02:58:23 -07:00
Kir Kolyshkin and Claude Sonnet 4.5
690c91f6ec
unix: add CPUSetDynamic for systems with more than 1024 CPUs
...
The existing CPUSet type is a fixed-size array limited to 1024 CPUs,
which makes it problematic to use for large systems (such as Google's
X4 instances with 1440 and 1920 vCPUs), see e.g.
https://github.com/opencontainers/runc/issues/5023 .
Introduce CPUSetDynamic type and NewCPUSet constructor to support large
systems. The bit-managing routines (set/clear/isset/fill/count) are
separated and reused.
Add variants of SchedGetaffinity, SchedSetaffinity and SetMemPolicy
that accept the new type.
Amend the documentation for CPUSet.
Amend the existing TestSchedSetaffinity to:
- test set.Fill;
- use t.Cleanup to restore the affinity.
Add tests for new functionality (mostly a copy of existing tests).
This is an alternative to CL 727540 / CL 727541.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
Change-Id: I51bba0305b8dfa7a88a4e7fb8758d73f798574f1
Reviewed-on: https://go-review.googlesource.com/c/sys/+/735380
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: David Chase <drchase@google.com >
Reviewed-by: Michael Pratt <mpratt@google.com >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
2026-04-08 16:32:30 -07:00
Skye Soss
acef38879e
unix/linux: Prefixmsg and PrefixCacheinfo structs
...
These structs and enumeration constants are used
to parse RTM_NEWPREFIX netlink messages.
Fixes golang/go#77662
Change-Id: I1e7a92e771701c0c790c15e58ad78cd8fe1e5cf5
Reviewed-on: https://go-review.googlesource.com/c/sys/+/746420
Reviewed-by: Mark Freeman <markfreeman@google.com >
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Junyang Shao <shaojunyang@google.com >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Florian Lehner <lehner.florian86@gmail.com >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2026-02-18 12:31:42 -08:00
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: 71871db0f339f154dea6ac4d545237f08f70a301
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: 6f37c4b81409db28f20c2acfbd5ccae9cdb2b510
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: 11be45c36dcbd7aa31009dfaf966eaebcbf9bbb0
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: 71dc7f073e50a43a11ab10d3d9ef35ebe5b183f5
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: 8fac63b1877a293a03576db26a4aae3121c80d3a
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: 649d64b1c3caf529150cc4ea14061f26b7625e3c
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: df5cca1a90e8d69769e164bcdaf165188bf04929
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: 3518c6200591380bc4414649afefb16882ab565a
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: 888e68d533fba83dddd70a8c0d52b082de6d87bc
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: 0bbc2efbab1d85249d81a200b7821b7901cea2dd
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: 5aafd0b757c20e7c29d29e6286fd952ea494408f
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: 07e32a4ab797c7baffdb50f8407cf679cabf1dae
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: e7990b08820162090a90488ca79bc069cfe21487
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