]> Cypherpunks repositories - gostls13.git/commit
syscall: use fchmodat2 in Fchmodat
authorTobias Klauser <tklauser@distanz.ch>
Tue, 7 Nov 2023 12:10:48 +0000 (13:10 +0100)
committerGopher Robot <gobot@golang.org>
Wed, 8 Nov 2023 17:55:49 +0000 (17:55 +0000)
commit07c388f17c039c0bb9a3fd0fd70bf5494aa7ee2c
treebac510e9fda1c963edc908c07b2524a88518e583
parent0889b39ff12405c37ce23af5b65263ab4b31899c
syscall: use fchmodat2 in Fchmodat

The fchmodat2 syscall was added in Linux kernel 6.6.  Mirror the
implementation in golang.org/x/sys/unix.Fchmodat (CL 539635) and use
fchmodat2 in Fchmodat if flags are given. It will return ENOSYS on older
kernels (or EINVAL or any other bogus error in some container
implementations).

Also update ztypes_linux_$GOARCH.go for all linux platforms to add
_AT_EMPTY_PATH. It was added to linux/types in CL 407694 but was only
updated for linux/loong64 at that time.

Updates #61636

Change-Id: I863d06e35cd366f1cf99052e9f77c22ab8168b3f
Reviewed-on: https://go-review.googlesource.com/c/go/+/540435
Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
36 files changed:
src/syscall/syscall_linux.go
src/syscall/syscall_linux_386.go
src/syscall/syscall_linux_amd64.go
src/syscall/syscall_linux_arm.go
src/syscall/syscall_linux_arm64.go
src/syscall/syscall_linux_loong64.go
src/syscall/syscall_linux_mips64x.go
src/syscall/syscall_linux_mipsx.go
src/syscall/syscall_linux_ppc64x.go
src/syscall/syscall_linux_riscv64.go
src/syscall/syscall_linux_s390x.go
src/syscall/zsyscall_linux_386.go
src/syscall/zsyscall_linux_amd64.go
src/syscall/zsyscall_linux_arm.go
src/syscall/zsyscall_linux_arm64.go
src/syscall/zsyscall_linux_loong64.go
src/syscall/zsyscall_linux_mips.go
src/syscall/zsyscall_linux_mips64.go
src/syscall/zsyscall_linux_mips64le.go
src/syscall/zsyscall_linux_mipsle.go
src/syscall/zsyscall_linux_ppc64.go
src/syscall/zsyscall_linux_ppc64le.go
src/syscall/zsyscall_linux_riscv64.go
src/syscall/zsyscall_linux_s390x.go
src/syscall/ztypes_linux_386.go
src/syscall/ztypes_linux_amd64.go
src/syscall/ztypes_linux_arm.go
src/syscall/ztypes_linux_arm64.go
src/syscall/ztypes_linux_mips.go
src/syscall/ztypes_linux_mips64.go
src/syscall/ztypes_linux_mips64le.go
src/syscall/ztypes_linux_mipsle.go
src/syscall/ztypes_linux_ppc64.go
src/syscall/ztypes_linux_ppc64le.go
src/syscall/ztypes_linux_riscv64.go
src/syscall/ztypes_linux_s390x.go