Jason A. Donenfeld
ef496fb156
windows: re-enable TestWinVerifyTrust with newly signed file
...
Rather than disabling this test, let's just not make it rely on
Microsoft files, whose signing validity period we can't depend on.
Instead, we include our own EV-signed artifact, with a Digicert
timestamp using a certificate valid for a decade.
Fixes golang/go#49651 .
Fixes golang/go#49266 .
For golang/go#46906 .
Change-Id: Idadba346810017b8f769d6fac1ddd357d4dee93c
Reviewed-on: https://go-review.googlesource.com/c/sys/+/366655
Trust: Jason A. Donenfeld <Jason@zx2c4.com >
Trust: Brad Fitzpatrick <bradfitz@golang.org >
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com >
Reviewed-by: Bryan C. Mills <bcmills@google.com >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Go Bot <gobot@golang.org >
2021-11-23 17:31:58 +00:00
Bryan C. Mills
dee7805ff2
windows: skip TestWinVerifyTrust
...
This test is failing (with different failure modes) on two different
builders. Adding a skip until it can be made more robust.
For golang/go#49651
For golang/go#49266
Updates golang/go#46906
Change-Id: I0fdd0e6f729c37e234b62b65abc53003eb8834f0
Reviewed-on: https://go-review.googlesource.com/c/sys/+/364794
Trust: Bryan C. Mills <bcmills@google.com >
Trust: Patrik Nyblom <pnyb@google.com >
Run-TryBot: Bryan C. Mills <bcmills@google.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Patrik Nyblom <pnyb@google.com >
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org >
2021-11-17 18:06:35 +00:00
Kir Kolyshkin
0a5406a544
unix: add mount_setattr support for linux
...
This brings in mount_setattr(2) support, added to Linux 5.12 kernel and
documented at https://man7.org/linux/man-pages/man2/mount_setattr.2.html
Change-Id: I5609980c18aef80f9429a8c8cec8c1e129f74ab7
Reviewed-on: https://go-review.googlesource.com/c/sys/+/363444
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
2021-11-16 06:13:58 +00:00
Ian Lance Taylor
0c823b97ae
unix: avoid depending on consistent Revents type in TestPoll
...
For golang/go#49380
Change-Id: Ie1d370681962d9f69ef54b33ddf38e4c74a2e298
Reviewed-on: https://go-review.googlesource.com/c/sys/+/363660
Trust: Ian Lance Taylor <iant@golang.org >
Run-TryBot: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Michael Knyszek <mknyszek@google.com >
2021-11-13 00:15:01 +00:00
Michael Anthony Knyszek
faf0a1b62c
unix: identify unexpected events that fired in TestPoll
...
Currently if TestPoll fails because an unexpected event fired, we just
print that it happened, not which one fired. #49380 has been difficult
to reproduce, so printing more information for this case would be
helpful.
Updates #49380 .
Change-Id: I820c4b634536565487ee1474f8afe092a8a4443b
Reviewed-on: https://go-review.googlesource.com/c/sys/+/363714
Trust: Michael Knyszek <mknyszek@google.com >
Run-TryBot: Michael Knyszek <mknyszek@google.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Bryan C. Mills <bcmills@google.com >
2021-11-12 19:34:37 +00:00
Johan Jansson
7580c6e521
unix: factor out mkmerge into a proper package
...
Factor mkmerge.go and mkmerge_test.go into package internal/mkmerge.
Due to ignore constraints, mkmerge_test.go wasn't run by the Go
builders and failing tests were unnoticed.
Factoring mkmerge into its own package and removing ignore constraints
makes the tests run automatically by the Go builders.
Fixes golang/go#49484
Change-Id: I56a0b7220e40d1d7e5193490cb547cad4202f9ac
Reviewed-on: https://go-review.googlesource.com/c/sys/+/363334
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Bryan C. Mills <bcmills@google.com >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Trust: Bryan C. Mills <bcmills@google.com >
TryBot-Result: Go Bot <gobot@golang.org >
2021-11-12 16:43:55 +00:00
Johan Jansson
7c45f0c2c7
unix: mount Docker-based builder at x/sys
...
Mount the data volume for the Docker-based builder at x/sys instead of
x/sys/unix.
The x/sys/go.mod file was not included in the data volume when mounting
x/sys/unix. This breaks module-aware go commands that run within the
Docker container.
Fix this problem by mounting the volume at x/sys and updating the
working directory of the builder accordingly.
Updates golang/go#49484
Change-Id: I2346b5320413b48de4984c9d9e31203941336357
Reviewed-on: https://go-review.googlesource.com/c/sys/+/363594
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Bryan C. Mills <bcmills@google.com >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Trust: Bryan C. Mills <bcmills@google.com >
2021-11-12 16:43:26 +00:00
Bryan C. Mills
c6105e7cf7
unix: in TestClockNanosleep, compare wall times when sleeping until wall times
...
Previously, we were sleeping until a wall time but then comparing the
duration slept using monotonic time. If the wall time happens to jump
during the sleep, the monotonic time can legitimately be shorter than
the wall time.
Fixes golang/go#42513
Change-Id: Iaef8d9ba46082e821f5cb18c96b9869238d7af05
Reviewed-on: https://go-review.googlesource.com/c/sys/+/363456
Trust: Bryan C. Mills <bcmills@google.com >
Run-TryBot: Bryan C. Mills <bcmills@google.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2021-11-12 14:30:42 +00:00
Bryan C. Mills
f221eed1c0
unix: in TestSelect, only error for an early wakeup on Linux
...
On Linux, 'man 2 select' explicitly lists the conditions under which
select may return before the timeout interval. Most other platforms
make no such guarantee, so do not test for it on those platforms.
Fixes golang/go#36409
Change-Id: I194a34af3132a7db7fc186dec9de67fa6dd0bfae
Reviewed-on: https://go-review.googlesource.com/c/sys/+/363455
Trust: Bryan C. Mills <bcmills@google.com >
Run-TryBot: Bryan C. Mills <bcmills@google.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-11 21:35:25 +00:00
Bryan C. Mills
99a53858aa
all: add missing //go:build comments
...
These were apparently overlooked in CL 357329, CL 294490, CL 296889,
and other various updates to this module. (I noticed them via gopls
while investigating golang/go#49466.)
Updates golang/go#41184
Change-Id: Id042bb6fe5282e6d528e9315acf2ad29d0df58ba
Reviewed-on: https://go-review.googlesource.com/c/sys/+/362577
Trust: Bryan C. Mills <bcmills@google.com >
Run-TryBot: Bryan C. Mills <bcmills@google.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
2021-11-10 15:43:04 +00:00
Bryan C. Mills
51b60fd695
windows/registry: lock OS thread while enumerating keys
...
CL 361154 updated the standard syscall package to document that
successive calls to syscall.RegEnumKeyEx must occur on the same OS
thread (after that requirement was empirically discovered in
golang/go#49320 ).
This use in x/sys needs to be updated to comply with the
newly-discovered requirement.
Fixes golang/go#49466 .
Change-Id: Idc45d91f175e1db25c215213fcaa45982c2f5e6e
Reviewed-on: https://go-review.googlesource.com/c/sys/+/362576
Trust: Bryan C. Mills <bcmills@google.com >
Run-TryBot: Bryan C. Mills <bcmills@google.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-09 18:48:56 +00:00
Tobias Klauser
02f5c0300f
unix: fix fsync for read-only files on aix
...
On aix, the fsync syscall doesn't work on read-only files. Use
fsync_range instead to allow Fsync to work on any file.
Follow CL 254657 which did the same in package syscall.
For golang/go#41372
Change-Id: Ibc55ecf5c43e27a04281af1a204f847eeafeea63
Reviewed-on: https://go-review.googlesource.com/c/sys/+/362274
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-09 06:54:45 +00:00
Koichi Shiraishi
cbcd623f20
unix: generate darwinTests per GOARCH and enabled darwin/arm64 test
...
Change-Id: I1c5bb166f6971f83890a08413aa8b35fe23a0c04
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357069
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
2021-11-08 22:43:32 +00:00
Tobias Klauser
e0b2ad06fe
unix: fix finalizer fd close bug in TestOpenByHandleAt
...
The raw fd is successively wrapped using os.NewFile, so dont defer close
the raw fd, but instead use (*os.File).Close.
Fixes golang/go#49403
Change-Id: I1f4b12536ff0abea6b1680a4ff932b7eefa57162
Reviewed-on: https://go-review.googlesource.com/c/sys/+/361995
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-07 10:43:06 +00:00
Tobias Klauser
ebca88c72f
unix/linux: update Dockerfile to Go 1.17.3
...
Change-Id: I14bced7165e0d3307950e922048cd38b1197f5fe
Reviewed-on: https://go-review.googlesource.com/c/sys/+/361994
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Matt Layher <mdlayher@gmail.com >
2021-11-06 13:20:15 +00:00
Tobias Klauser
c75c47738b
unix, windows: copy arrays by assignment instead of looping
...
Follow CL 360602 which did the same in package syscall.
Change-Id: Ibf6d86dea1cb118e869618c66da72da281adb2d7
Reviewed-on: https://go-review.googlesource.com/c/sys/+/361574
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2021-11-05 18:34:46 +00:00
Keith Randall
7861aae155
cpu: pretend AVX-512 is disabled on Darwin
...
Darwin doesn't save/restore the AVX-512 mask registers when
processing a signal. Go generates lots of signals, which cause
the mask registers to randomly get clobbered. Better to pretend
that AVX-512 isn't supported.
Update golang/go#49233
Change-Id: I0dda77a6f205e10eefccd82e6f4f0f184dae42d9
Reviewed-on: https://go-review.googlesource.com/c/sys/+/361255
Trust: Keith Randall <khr@golang.org >
Run-TryBot: Keith Randall <khr@golang.org >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
Reviewed-by: Martin Möhrmann <martin@golang.org >
2021-11-03 23:57:46 +00:00
Tobias Klauser
ae416a5f93
unix: regenerate type Clockinfo on OpenBSD 6.9
...
OpenBSD 6.9 changed the definition of Clockinfo, leading
TestSysctlClockinfo to fail on OpenBSD 6.9 onwards. Since OpenBSD 6.8 is
no longer supported upstream, regenerate Clockinfo on that release and
test that SysctlClockInfo fails gracefully on OpenBSD 6.8 and earlier.
Fixes golang/go#47629
For golang/go#48977
Change-Id: Ia511b8601af11f70ffcce0f96764c69a67d626b8
Reviewed-on: https://go-review.googlesource.com/c/sys/+/360694
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Bryan C. Mills <bcmills@google.com >
Reviewed-by: Joel Sing <joel@sing.id.au >
2021-11-03 18:47:34 +00:00
Koichi Shiraishi
4dd72447c2
unix: add stdint.h for mkall.sh on darwin/arm64
...
currently occured below error:
In file included from /Users/zchee/go/src/golang.org/x/sys/unix/types_darwin.go:24:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/signal.h:63:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h:146:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h:34:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h:36:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h:35:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h:482:2: error: unknown type name 'uint32_t'
uint32_t fpsr;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h:483:2: error: unknown type name 'uint32_t'
uint32_t fpcr;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h:489:2: error: unknown type name 'uint32_t'
uint32_t fpsr;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h:490:2: error: unknown type name 'uint32_t'
uint32_t fpcr;
^
4 errors generated.
Change-Id: Iba2520fbf600914d3e8ed54b073039a6470846f7
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357070
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-02 19:28:58 +00:00
Tobias Klauser
a2f17f7b99
unix: allow passing optional args to SysctlKinfoProcSlice
...
This allows using SysctlKinfoProcSlice to e.g. query processes by user
id using the kern.proc.uid sysctl and is still backwards compatible to
original implementation, i.e. still allows the kern.proc.all sysctl
without any additional arguments.
Change-Id: Ia2d76ce5b91a077221891e1f2dfd79a38d2be52b
Reviewed-on: https://go-review.googlesource.com/c/sys/+/359677
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-02 06:14:01 +00:00
Tobias Klauser
95da234e12
unix: add SysctlKinfoProc on darwin
...
This allows to get KinfoProc for a given process using
SysctlKinfoProcSlice("kern.proc.pid", pid) rather than having to query
all processes using SysctlKinfoProcSlice() and the extracting the
relevant KinfoProc.
Change-Id: I965ea5c77d6f3441592b4540c54ab56f6ac9e27d
Reviewed-on: https://go-review.googlesource.com/c/sys/+/359676
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-02 06:13:51 +00:00
Tobias Klauser
39c9dd3799
unix/linux: update Dockerfile to Kernel 5.15
...
Change-Id: I032465fbaecd49ffb6048577cd2f3fcb3d8e11d0
Reviewed-on: https://go-review.googlesource.com/c/sys/+/359678
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-11-01 20:44:03 +00:00
Hao Mou
611d5d6438
windows: fix test causing checkptr failure
...
TestNtCreateFileAndNtSetInformationFile is failing checkptr. Fix by
using replacing [:] with [:n:n].
Fixes golang/go#49217
Change-Id: I08e7ed41b33452c096cf40cdbf9d73989b769bdb
Reviewed-on: https://go-review.googlesource.com/c/sys/+/359496
Run-TryBot: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Alex Brainman <alex.brainman@gmail.com >
Trust: Alex Brainman <alex.brainman@gmail.com >
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com >
2021-10-31 06:41:16 +00:00
Koichi Shiraishi
b3129d9d10
unix: fix difference Stat_t type and Statfs_t type per GOARCH on darwin
...
In darwin/arm64, has the libc_fstat{fs} trampoline, not libc_fstat{fs}64.
But types_darwin.go defined same C types.
Change-Id: Ia33c60029eb59360e421f42ef79efe890eba3e3e
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357071
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Trust: Tobias Klauser <tobias.klauser@gmail.com >
2021-10-30 16:08:13 +00:00
Tobias Klauser
565ff80d9b
unix: change darwin Eproc/ExternProc members from int8 array to byte array
...
CL 328169 added Eproc and ExternProc types on darwin which have some
int8 array members containing human-readable strings. In order to make
it easier to convert these to Go strings, change them to byte arrays.
Change-Id: I200494fd90d8506bce0f52a039ea59703981c8d3
Reviewed-on: https://go-review.googlesource.com/c/sys/+/359674
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-10-30 16:03:51 +00:00
Jason A. Donenfeld
6e7872819d
windows/svc: allow querying service start reason
...
The QueryServiceDynamicInformation API makes it possible to determine
why a service started. This is declared as an optional function because
the API is Win8+.
Reference:
https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-queryservicedynamicinformation
Change-Id: I18e9a95b35f8c37d94c9900626c1785f425701dc
Reviewed-on: https://go-review.googlesource.com/c/sys/+/358394
Trust: Jason A. Donenfeld <Jason@zx2c4.com >
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2021-10-29 16:52:21 +00:00
Takuto Ikuta
c1bf0bb051
windows: regen zsyscall_windows.go
...
It seems mksyscall sorts Windows APIs bit differently now.
Change-Id: I2703b12addefbbac00ab06f62500bc7db2b8cba6
Reviewed-on: https://go-review.googlesource.com/c/sys/+/359657
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com >
2021-10-29 16:29:42 +00:00
Tobias Klauser
69cdffdb93
unix: use default directories in TestGetwd on darwin/arm64
...
Go 1.16 renamed the iOS port from darwin/arm64 to ios/arm64 and
darwin/arm64 was repurposed for the macOS ARM64 port (see
https://golang.org/doc/go1.16#darwin ).
Now that Go 1.16 is the oldest supported release, the ios tag can be
used exclusively to detect iOS and TestGetwd can use the same list of
directories as other systems.
For golang/go#45696
Change-Id: Ic334df5ea88ac034a9d9271f6cd570617f208f05
Reviewed-on: https://go-review.googlesource.com/c/sys/+/358254
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Cherry Mui <cherryyz@google.com >
2021-10-25 20:12:05 +00:00
Lorenz Bauer
711f33c999
unix: add ParseOrigDstAddr
...
Add a function which turns a SocketControlMessage into a Sockaddr.
This can be used with IP(V6)_RECVORIGDSTADDR to retrieve the original
destination address of a packet.
Change-Id: Ib2d80cd01be6642e8b918cbc1584d4a49c3c6f1e
Reviewed-on: https://go-review.googlesource.com/c/sys/+/355609
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
2021-10-25 11:29:17 +00:00
Hao Mou
d6a326fbbf
windows: add NtSetInformationFile
...
Added NtSetInformationFile and some const values related to it.
The doc for the function and the values of the file information class
can be found here:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntsetinformationfile
The values of the flags in the individual FILE_INFORMATION_CLASS can be
found here:
FILE_RENAME_INFORMATION - https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/ns-ntifs-_file_rename_information
FILE_DISPOSITION_INFORMATION_EX - https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/ns-ntddk-_file_disposition_information_ex
FILE_CASE_SENSITIVE_INFORMATION - https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/ns-ntifs-_file_case_sensitive_information
FILE_LINK_INFORMATION - https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/ns-ntifs-_file_link_information
The other file information classes do not have flag values.
Fixes golang/go#48933
Change-Id: I917ff4c8df132f8584fd6d924cf5a9626a065092
Reviewed-on: https://go-review.googlesource.com/c/sys/+/355495
Trust: Alex Brainman <alex.brainman@gmail.com >
Trust: Emmanuel Odeke <emmanuel@orijtech.com >
Run-TryBot: Alex Brainman <alex.brainman@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Alex Brainman <alex.brainman@gmail.com >
2021-10-23 08:55:30 +00:00
Lorenz Bauer
8e5104632a
unix: add functions to encode Inet4Pktinfo and Inet6Pktinfo
...
It's possible to control the source address of a UDP packet by
passing a socket control message of type IP_PKTINFO or IPV6_PKTINFO.
This is a somewhat esoteric feature of the network stack, but it's
extremely useful feature when you really need it.
Change-Id: I8300575f975679f6689d6f1282af253ba62e8f9d
Reviewed-on: https://go-review.googlesource.com/c/sys/+/355610
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Trust: Tobias Klauser <tobias.klauser@gmail.com >
2021-10-22 21:59:31 +00:00
Jason A. Donenfeld
9d61738499
windows: add dynamic exception function table manipulators
...
These are useful for loading new code into the address space at runtime
and having exceptions be handled.
https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-rtladdfunctiontable
https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-rtldeletefunctiontable
Change-Id: I4fce4d7003d87cf48486d6e09d8543c2f1325554
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357409
Trust: Jason A. Donenfeld <Jason@zx2c4.com >
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2021-10-20 17:42:00 +00:00
Jason A. Donenfeld
153b154469
windows: add system info and version related functions
...
This adds various version and system info functions and adds a test that
prints the version of all installed drivers.
Change-Id: I73a2b0a35dcedf88206979ec6f1a56552dc80899
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357149
Trust: Jason A. Donenfeld <Jason@zx2c4.com >
Trust: Brad Fitzpatrick <bradfitz@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2021-10-20 17:18:05 +00:00
Brad Fitzpatrick
fcb26fe61c
windows: gofmt to add go:build lines
...
Change-Id: I71b9023fcb6c9860ea35ba0d2cf77a6eed5176b9
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357329
Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com >
Reviewed-by: David Crawshaw <crawshaw@golang.org >
Trust: Jason A. Donenfeld <Jason@zx2c4.com >
Trust: David Crawshaw <crawshaw@golang.org >
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com >
TryBot-Result: Go Bot <gobot@golang.org >
2021-10-20 15:40:33 +00:00
Jason A. Donenfeld
25fac919d9
windows/svc: do not close service handle
...
The documentation [1] says "The service status handle does not have to
be closed." That makes it seem like it's optional. But actually, closing
it raises a user exception, because it's not a legitimate handle to
close.
This commit also adds the right go build comments with a `go fmt` pass.
[1] https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-registerservicectrlhandlerexa
Change-Id: Ibf67c0e8d94c87068720472009b24cecdfda6519
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357250
Trust: Jason A. Donenfeld <Jason@zx2c4.com >
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2021-10-20 15:30:01 +00:00
Jason A. Donenfeld
0ec99a608a
windows/svc: rewrite in Go
...
The old service management code was written in assembly and communicated
over Windows events, which resulted in non-obvious control flow.
NewCallback makes it possible to rewrite all of this in vanilla Go. This
also enables the service test on the Go builders, as modifying system
services shouldn't be an issue there.
Change-Id: I8003b57d11d4469f762058c648a4b7733530eeb8
Reviewed-on: https://go-review.googlesource.com/c/sys/+/330010
Trust: Jason A. Donenfeld <Jason@zx2c4.com >
Trust: Brad Fitzpatrick <bradfitz@golang.org >
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2021-10-20 06:40:51 +00:00
Koichi Shiraishi
9d821ace86
unix: add all trampoline_addr to darwin_test.go and sorted
...
lacked:
libc_clock_gettime_trampoline_addr
libc_clonefile_trampoline_addr
libc_clonefileat_trampoline_addr
libc_fclonefileat_trampoline_addr
libc_getcwd_trampoline_addr
libc_sendfile_trampoline_addr
libc_setattrlist_trampoline_addr
libc_shmat_trampoline_addr
libc_shmctl_trampoline_addr
libc_shmdt_trampoline_addr
libc_shmget_trampoline_addr
Change-Id: I5722c61db415fd409a05c351959740d57891db04
Reviewed-on: https://go-review.googlesource.com/c/sys/+/354469
Run-TryBot: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Cherry Mui <cherryyz@google.com >
2021-10-19 18:19:41 +00:00
Tobias Klauser
69063c4bb7
unix: test AF_VSOCK sockets on linux
...
Follow the implementation of the tests added in CL 354269 for darwin.
Change-Id: I00701227dfb26169a356d875ddb3737849d0bba0
Reviewed-on: https://go-review.googlesource.com/c/sys/+/356289
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Matt Layher <mdlayher@gmail.com >
2021-10-15 20:08:01 +00:00
Hao Mou
97ac67df71
windows: add const values
...
When I was working with NtCreateFile and DeviceIoControl, I found a lot
of the constant values are missing, so I added them.
The access masks I added for NtCreateFile are described here: https://docs.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntcreatefile
Their values are listed here: https://docs.microsoft.com/en-us/windows/win32/fileio/file-access-rights-constants
The FSCTL control codes I added for DeviceIoControl are listed here: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/4dc02779-9d95-43f8-bba4-8d4ce4961458
This seems trivial so I did not create an issue.
Change-Id: I0c1b72ac1b34413a6ed7420026df46ff94cefe5f
Reviewed-on: https://go-review.googlesource.com/c/sys/+/355350
Trust: Alex Brainman <alex.brainman@gmail.com >
Trust: Meng Zhuo <mzh@golangcn.org >
Run-TryBot: Alex Brainman <alex.brainman@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Alex Brainman <alex.brainman@gmail.com >
2021-10-13 07:50:03 +00:00
Weilu Jia
d3039528d8
windows: add low level memory related syscalls
...
Adds VirtualQuery, VirtualQueryEx, VirtualProtectEx, ReadProcessMemory, and WriteProcessMemory.
VirtualProtect already exists.
https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualquery
https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualqueryex
https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualprotectex
https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-readprocessmemory
https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory
Change-Id: I609a09641c502d8d3802036123e0784b7c76e99b
GitHub-Last-Rev: 368f8c7b62
GitHub-Pull-Request: golang/sys#117
Reviewed-on: https://go-review.googlesource.com/c/sys/+/352249
Trust: Alex Brainman <alex.brainman@gmail.com >
Trust: Emmanuel Odeke <emmanuel@orijtech.com >
Trust: Benny Siegert <bsiegert@gmail.com >
Run-TryBot: Alex Brainman <alex.brainman@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Alex Brainman <alex.brainman@gmail.com >
2021-10-07 07:53:35 +00:00
Koichi Shiraishi
1a26e0398e
unix: add SockaddrVM type and AF_VSOCK to anyToSockaddrGOOS to darwin
...
Change-Id: I511be555d92ac87a797949fc4c99fd8ef9515ace
Reviewed-on: https://go-review.googlesource.com/c/sys/+/354269
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-10-06 22:55:09 +00:00
Koichi Shiraishi
c8a6f52230
unix: fix lack of Sysv shared trampoline on darwin/arm64
...
In CL 353509, doesn't generate Sysv shared trampoline for darwin/arm64.
Change-Id: Id4a87205000d2b4169204992ead3d042d1d5aef4
Reviewed-on: https://go-review.googlesource.com/c/sys/+/354270
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-10-06 19:47:10 +00:00
Koichi Shiraishi
2c5d950f24
unix: support vsock for darwin
...
Change-Id: Id53e2b0d0dc3b83762bb4ccc001d4e40f738de73
Reviewed-on: https://go-review.googlesource.com/c/sys/+/352209
Run-TryBot: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2021-10-04 09:30:28 +00:00
Tobias Klauser
b1ebd4e100
unix: enable Sysv shared memory support on darwin/arm64
...
Keep it disabled on ios though.
For golang/go#45696
For golang/go#46084
Change-Id: I3d551227a4ebc0eebabdd16b175aa6a75ea9de19
Reviewed-on: https://go-review.googlesource.com/c/sys/+/353509
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-10-03 12:29:50 +00:00
Tobias Klauser
808efd93c3
cpu: enable TestARM64minimalFeatures on darwin/arm64
...
Go 1.16 renamed the iOS port from darwin/arm64 to ios/arm64 and
darwin/arm64 was repurposed for the macOS ARM64 port (see
https://golang.org/doc/go1.16#darwin ).
Now that Go 1.16 is the oldest supported release, the ios tag can be
used exclusively to detect iOS. Thus, TestARM64minimalFeatures which
ought to run on darwin/arm64 can now be enabled on that platform.
For golang/go#45696
Change-Id: Ic510fbf27dc813832507446201501df58c9f6f31
Reviewed-on: https://go-review.googlesource.com/c/sys/+/353530
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-10-02 10:42:44 +00:00
Tobias Klauser
b1447f3f25
unix: enable TestPassFD and TestPoll on darwin/arm64
...
Go 1.16 renamed the iOS port from darwin/arm64 to ios/arm64 and
darwin/arm64 was repurposed for the macOS ARM64 port (see
https://golang.org/doc/go1.16#darwin ).
Now that Go 1.16 is the oldest supported release, the ios tag can be
used exclusively to detect iOS. Thus, TestPassFD and TestPoll which
ought to run on darwin/arm64 can now be enabled on that platform.
For golang/go#45696
Change-Id: I0b542af7a1b5ab194bf249d499c49e45bb55a2e1
Reviewed-on: https://go-review.googlesource.com/c/sys/+/353529
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-10-02 10:42:28 +00:00
Dustin Spicuzza
39dca1131b
unix: SysvShmCtl should use ipc_64 on mips64(le)
...
For golang/go#48708
Change-Id: Ieb5fdb5eb571af836268b69d3f1066ef8497a7b7
GitHub-Last-Rev: 59e24d8fdb
GitHub-Pull-Request: golang/sys#118
Reviewed-on: https://go-review.googlesource.com/c/sys/+/353398
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-10-01 09:24:34 +00:00
Ian Lance Taylor
f542c8878d
unix: skip TestSysvSharedMemory on ENOSYS
...
Whether System V IPC is supported is a kernel configuration.
For golang/go#48708
Change-Id: Id0d23a5ede5f75f70ca6bb0b8abaec773b6adc74
Reviewed-on: https://go-review.googlesource.com/c/sys/+/353392
Trust: Ian Lance Taylor <iant@golang.org >
Run-TryBot: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2021-09-30 21:29:24 +00:00
Dustin Spicuzza
969570ce7c
unix: add Sysv shared memory support
...
Implements proposed API from https://golang.org/issue/46084 . I chose
`SysvShmDesc` since it's a clearer name than `SysvShm`. Initially supports Darwin and Linux.
Solaris support has a blocker (https://golang.org/issue/46084#issuecomment-836980018 )
For golang/go#46084
Change-Id: Ied0f768a74c448254adc3315348417825a7ec63e
GitHub-Last-Rev: befbd7af6b
GitHub-Pull-Request: golang/sys#110
Reviewed-on: https://go-review.googlesource.com/c/sys/+/327830
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
2021-09-30 14:19:18 +00:00
Paul E. Murphy
39ccf1dd6f
unix: skip TestIoctlGetRTCWkAlrm if unsupported
...
Some RTC devices do not support wakeup alarms and will return
EINVAL in such cases. The generic powerpc rtc driver is one such
case.
Fixes golang/go#48554
Change-Id: I46f6da7902586a7fcaa9a367801d9fead288e264
Reviewed-on: https://go-review.googlesource.com/c/sys/+/352090
Run-TryBot: Paul Murphy <murp@ibm.com >
TryBot-Result: Go Bot <gobot@golang.org >
Trust: David Chase <drchase@google.com >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2021-09-27 09:40:55 +00:00