diff --git a/images/ovn/Dockerfile b/images/ovn/Dockerfile
index 589322e..4e9ac93 100644
--- a/images/ovn/Dockerfile
+++ b/images/ovn/Dockerfile
@@ -13,7 +13,7 @@
 # under the License.
 
 FROM golang:1.20 AS ovn-kubernetes
-ARG OVN_KUBERNETES_REF=cbff639b83af00e4887b540fc06b880108662780
+ARG OVN_KUBERNETES_REF=5359e7d7f872058b6e5bf884c9f19d1922451f29
 ADD https://github.com/ovn-org/ovn-kubernetes.git#${OVN_KUBERNETES_REF} /src
 COPY patches/ovn-kubernetes /patches/ovn-kubernetes
 RUN git -C /src apply --verbose /patches/ovn-kubernetes/*
diff --git a/images/ovn/patches/ovn-kubernetes/0003-chore-bump-golang.org-x-crypto-for-security.patch b/images/ovn/patches/ovn-kubernetes/0003-chore-bump-golang.org-x-crypto-for-security.patch
deleted file mode 100644
index 66e0b00..0000000
--- a/images/ovn/patches/ovn-kubernetes/0003-chore-bump-golang.org-x-crypto-for-security.patch
+++ /dev/null
@@ -1,6184 +0,0 @@
-From 6d47afb26fb1bb1e6d5668f336ee292ad48954f3 Mon Sep 17 00:00:00 2001
-From: Mohammed Naser <mnaser@vexxhost.com>
-Date: Sun, 4 Feb 2024 02:22:36 -0500
-Subject: [PATCH] chore: bump golang.org/x/crypto for security
-
----
- go-controller/go.mod                          |  8 +-
- go-controller/go.sum                          | 16 ++--
- .../golang.org/x/sys/execabs/execabs_go118.go |  1 -
- .../golang.org/x/sys/execabs/execabs_go119.go |  1 -
- .../golang.org/x/sys/plan9/pwd_go15_plan9.go  |  1 -
- .../golang.org/x/sys/plan9/pwd_plan9.go       |  1 -
- .../vendor/golang.org/x/sys/plan9/race.go     |  1 -
- .../vendor/golang.org/x/sys/plan9/race0.go    |  1 -
- .../vendor/golang.org/x/sys/plan9/str.go      |  1 -
- .../vendor/golang.org/x/sys/plan9/syscall.go  |  1 -
- .../x/sys/plan9/zsyscall_plan9_386.go         |  1 -
- .../x/sys/plan9/zsyscall_plan9_amd64.go       |  1 -
- .../x/sys/plan9/zsyscall_plan9_arm.go         |  1 -
- .../vendor/golang.org/x/sys/unix/aliases.go   |  2 -
- .../golang.org/x/sys/unix/asm_aix_ppc64.s     |  1 -
- .../golang.org/x/sys/unix/asm_bsd_386.s       |  2 -
- .../golang.org/x/sys/unix/asm_bsd_amd64.s     |  2 -
- .../golang.org/x/sys/unix/asm_bsd_arm.s       |  2 -
- .../golang.org/x/sys/unix/asm_bsd_arm64.s     |  2 -
- .../golang.org/x/sys/unix/asm_bsd_ppc64.s     |  2 -
- .../golang.org/x/sys/unix/asm_bsd_riscv64.s   |  2 -
- .../golang.org/x/sys/unix/asm_linux_386.s     |  1 -
- .../golang.org/x/sys/unix/asm_linux_amd64.s   |  1 -
- .../golang.org/x/sys/unix/asm_linux_arm.s     |  1 -
- .../golang.org/x/sys/unix/asm_linux_arm64.s   |  3 -
- .../golang.org/x/sys/unix/asm_linux_loong64.s |  3 -
- .../golang.org/x/sys/unix/asm_linux_mips64x.s |  3 -
- .../golang.org/x/sys/unix/asm_linux_mipsx.s   |  3 -
- .../golang.org/x/sys/unix/asm_linux_ppc64x.s  |  3 -
- .../golang.org/x/sys/unix/asm_linux_riscv64.s |  2 -
- .../golang.org/x/sys/unix/asm_linux_s390x.s   |  3 -
- .../x/sys/unix/asm_openbsd_mips64.s           |  1 -
- .../golang.org/x/sys/unix/asm_solaris_amd64.s |  1 -
- .../golang.org/x/sys/unix/asm_zos_s390x.s     |  3 -
- .../golang.org/x/sys/unix/cap_freebsd.go      |  1 -
- .../vendor/golang.org/x/sys/unix/constants.go |  1 -
- .../golang.org/x/sys/unix/dev_aix_ppc.go      |  1 -
- .../golang.org/x/sys/unix/dev_aix_ppc64.go    |  1 -
- .../vendor/golang.org/x/sys/unix/dev_zos.go   |  1 -
- .../vendor/golang.org/x/sys/unix/dirent.go    |  1 -
- .../golang.org/x/sys/unix/endian_big.go       |  1 -
- .../golang.org/x/sys/unix/endian_little.go    |  1 -
- .../vendor/golang.org/x/sys/unix/env_unix.go  |  1 -
- .../vendor/golang.org/x/sys/unix/epoll_zos.go |  1 -
- .../vendor/golang.org/x/sys/unix/fcntl.go     |  3 +-
- .../x/sys/unix/fcntl_linux_32bit.go           |  1 -
- .../vendor/golang.org/x/sys/unix/fdset.go     |  1 -
- .../golang.org/x/sys/unix/fstatfs_zos.go      |  1 -
- .../vendor/golang.org/x/sys/unix/gccgo.go     |  1 -
- .../vendor/golang.org/x/sys/unix/gccgo_c.c    |  1 -
- .../x/sys/unix/gccgo_linux_amd64.go           |  1 -
- .../golang.org/x/sys/unix/ifreq_linux.go      |  1 -
- .../golang.org/x/sys/unix/ioctl_linux.go      |  5 +
- .../golang.org/x/sys/unix/ioctl_signed.go     |  1 -
- .../golang.org/x/sys/unix/ioctl_unsigned.go   |  1 -
- .../vendor/golang.org/x/sys/unix/ioctl_zos.go |  1 -
- .../vendor/golang.org/x/sys/unix/mkerrors.sh  |  4 +-
- .../golang.org/x/sys/unix/mmap_nomremap.go    |  1 -
- .../vendor/golang.org/x/sys/unix/mremap.go    |  1 -
- .../golang.org/x/sys/unix/pagesize_unix.go    |  1 -
- .../golang.org/x/sys/unix/pledge_openbsd.go   | 92 ++++---------------
- .../golang.org/x/sys/unix/ptrace_darwin.go    |  1 -
- .../golang.org/x/sys/unix/ptrace_ios.go       |  1 -
- .../vendor/golang.org/x/sys/unix/race.go      |  1 -
- .../vendor/golang.org/x/sys/unix/race0.go     |  1 -
- .../x/sys/unix/readdirent_getdents.go         |  1 -
- .../x/sys/unix/readdirent_getdirentries.go    |  1 -
- .../golang.org/x/sys/unix/sockcmsg_unix.go    |  1 -
- .../x/sys/unix/sockcmsg_unix_other.go         |  1 -
- .../vendor/golang.org/x/sys/unix/syscall.go   |  1 -
- .../golang.org/x/sys/unix/syscall_aix.go      |  4 +-
- .../golang.org/x/sys/unix/syscall_aix_ppc.go  |  1 -
- .../x/sys/unix/syscall_aix_ppc64.go           |  1 -
- .../golang.org/x/sys/unix/syscall_bsd.go      |  3 +-
- .../x/sys/unix/syscall_darwin_amd64.go        |  1 -
- .../x/sys/unix/syscall_darwin_arm64.go        |  1 -
- .../x/sys/unix/syscall_darwin_libSystem.go    |  1 -
- .../x/sys/unix/syscall_dragonfly_amd64.go     |  1 -
- .../x/sys/unix/syscall_freebsd_386.go         |  1 -
- .../x/sys/unix/syscall_freebsd_amd64.go       |  1 -
- .../x/sys/unix/syscall_freebsd_arm.go         |  1 -
- .../x/sys/unix/syscall_freebsd_arm64.go       |  1 -
- .../x/sys/unix/syscall_freebsd_riscv64.go     |  1 -
- .../golang.org/x/sys/unix/syscall_hurd.go     |  1 -
- .../golang.org/x/sys/unix/syscall_hurd_386.go |  1 -
- .../golang.org/x/sys/unix/syscall_illumos.go  |  1 -
- .../golang.org/x/sys/unix/syscall_linux.go    | 33 ++++---
- .../x/sys/unix/syscall_linux_386.go           |  1 -
- .../x/sys/unix/syscall_linux_alarm.go         |  2 -
- .../x/sys/unix/syscall_linux_amd64.go         |  1 -
- .../x/sys/unix/syscall_linux_amd64_gc.go      |  1 -
- .../x/sys/unix/syscall_linux_arm.go           |  1 -
- .../x/sys/unix/syscall_linux_arm64.go         |  1 -
- .../golang.org/x/sys/unix/syscall_linux_gc.go |  1 -
- .../x/sys/unix/syscall_linux_gc_386.go        |  1 -
- .../x/sys/unix/syscall_linux_gc_arm.go        |  1 -
- .../x/sys/unix/syscall_linux_gccgo_386.go     |  1 -
- .../x/sys/unix/syscall_linux_gccgo_arm.go     |  1 -
- .../x/sys/unix/syscall_linux_loong64.go       |  1 -
- .../x/sys/unix/syscall_linux_mips64x.go       |  2 -
- .../x/sys/unix/syscall_linux_mipsx.go         |  2 -
- .../x/sys/unix/syscall_linux_ppc.go           |  1 -
- .../x/sys/unix/syscall_linux_ppc64x.go        |  2 -
- .../x/sys/unix/syscall_linux_riscv64.go       |  1 -
- .../x/sys/unix/syscall_linux_s390x.go         |  1 -
- .../x/sys/unix/syscall_linux_sparc64.go       |  1 -
- .../x/sys/unix/syscall_netbsd_386.go          |  1 -
- .../x/sys/unix/syscall_netbsd_amd64.go        |  1 -
- .../x/sys/unix/syscall_netbsd_arm.go          |  1 -
- .../x/sys/unix/syscall_netbsd_arm64.go        |  1 -
- .../golang.org/x/sys/unix/syscall_openbsd.go  | 28 ++++--
- .../x/sys/unix/syscall_openbsd_386.go         |  1 -
- .../x/sys/unix/syscall_openbsd_amd64.go       |  1 -
- .../x/sys/unix/syscall_openbsd_arm.go         |  1 -
- .../x/sys/unix/syscall_openbsd_arm64.go       |  1 -
- .../x/sys/unix/syscall_openbsd_libc.go        |  1 -
- .../x/sys/unix/syscall_openbsd_ppc64.go       |  1 -
- .../x/sys/unix/syscall_openbsd_riscv64.go     |  1 -
- .../golang.org/x/sys/unix/syscall_solaris.go  |  5 +-
- .../x/sys/unix/syscall_solaris_amd64.go       |  1 -
- .../golang.org/x/sys/unix/syscall_unix.go     |  1 -
- .../golang.org/x/sys/unix/syscall_unix_gc.go  |  2 -
- .../x/sys/unix/syscall_unix_gc_ppc64x.go      |  3 -
- .../x/sys/unix/syscall_zos_s390x.go           |  3 +-
- .../golang.org/x/sys/unix/sysvshm_linux.go    |  1 -
- .../golang.org/x/sys/unix/sysvshm_unix.go     |  1 -
- .../x/sys/unix/sysvshm_unix_other.go          |  1 -
- .../golang.org/x/sys/unix/timestruct.go       |  1 -
- .../golang.org/x/sys/unix/unveil_openbsd.go   | 41 +++++----
- .../vendor/golang.org/x/sys/unix/xattr_bsd.go |  1 -
- .../golang.org/x/sys/unix/zerrors_aix_ppc.go  |  1 -
- .../x/sys/unix/zerrors_aix_ppc64.go           |  1 -
- .../x/sys/unix/zerrors_darwin_amd64.go        |  1 -
- .../x/sys/unix/zerrors_darwin_arm64.go        |  1 -
- .../x/sys/unix/zerrors_dragonfly_amd64.go     |  1 -
- .../x/sys/unix/zerrors_freebsd_386.go         |  1 -
- .../x/sys/unix/zerrors_freebsd_amd64.go       |  1 -
- .../x/sys/unix/zerrors_freebsd_arm.go         |  1 -
- .../x/sys/unix/zerrors_freebsd_arm64.go       |  1 -
- .../x/sys/unix/zerrors_freebsd_riscv64.go     |  1 -
- .../golang.org/x/sys/unix/zerrors_linux.go    | 14 ++-
- .../x/sys/unix/zerrors_linux_386.go           |  1 -
- .../x/sys/unix/zerrors_linux_amd64.go         |  1 -
- .../x/sys/unix/zerrors_linux_arm.go           |  1 -
- .../x/sys/unix/zerrors_linux_arm64.go         |  1 -
- .../x/sys/unix/zerrors_linux_loong64.go       |  2 +-
- .../x/sys/unix/zerrors_linux_mips.go          |  1 -
- .../x/sys/unix/zerrors_linux_mips64.go        |  1 -
- .../x/sys/unix/zerrors_linux_mips64le.go      |  1 -
- .../x/sys/unix/zerrors_linux_mipsle.go        |  1 -
- .../x/sys/unix/zerrors_linux_ppc.go           |  1 -
- .../x/sys/unix/zerrors_linux_ppc64.go         |  1 -
- .../x/sys/unix/zerrors_linux_ppc64le.go       |  1 -
- .../x/sys/unix/zerrors_linux_riscv64.go       |  4 +-
- .../x/sys/unix/zerrors_linux_s390x.go         |  1 -
- .../x/sys/unix/zerrors_linux_sparc64.go       |  1 -
- .../x/sys/unix/zerrors_netbsd_386.go          |  1 -
- .../x/sys/unix/zerrors_netbsd_amd64.go        |  1 -
- .../x/sys/unix/zerrors_netbsd_arm.go          |  1 -
- .../x/sys/unix/zerrors_netbsd_arm64.go        |  1 -
- .../x/sys/unix/zerrors_openbsd_386.go         |  1 -
- .../x/sys/unix/zerrors_openbsd_amd64.go       |  1 -
- .../x/sys/unix/zerrors_openbsd_arm.go         |  1 -
- .../x/sys/unix/zerrors_openbsd_arm64.go       |  1 -
- .../x/sys/unix/zerrors_openbsd_mips64.go      |  1 -
- .../x/sys/unix/zerrors_openbsd_ppc64.go       |  1 -
- .../x/sys/unix/zerrors_openbsd_riscv64.go     |  1 -
- .../x/sys/unix/zerrors_solaris_amd64.go       |  1 -
- .../x/sys/unix/zerrors_zos_s390x.go           |  1 -
- .../x/sys/unix/zptrace_armnn_linux.go         |  2 -
- .../x/sys/unix/zptrace_mipsnn_linux.go        |  2 -
- .../x/sys/unix/zptrace_mipsnnle_linux.go      |  2 -
- .../x/sys/unix/zptrace_x86_linux.go           |  2 -
- .../golang.org/x/sys/unix/zsyscall_aix_ppc.go |  1 -
- .../x/sys/unix/zsyscall_aix_ppc64.go          |  1 -
- .../x/sys/unix/zsyscall_aix_ppc64_gc.go       |  1 -
- .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go    |  1 -
- .../x/sys/unix/zsyscall_darwin_amd64.go       |  1 -
- .../x/sys/unix/zsyscall_darwin_arm64.go       |  1 -
- .../x/sys/unix/zsyscall_dragonfly_amd64.go    |  1 -
- .../x/sys/unix/zsyscall_freebsd_386.go        |  1 -
- .../x/sys/unix/zsyscall_freebsd_amd64.go      |  1 -
- .../x/sys/unix/zsyscall_freebsd_arm.go        |  1 -
- .../x/sys/unix/zsyscall_freebsd_arm64.go      |  1 -
- .../x/sys/unix/zsyscall_freebsd_riscv64.go    |  1 -
- .../x/sys/unix/zsyscall_illumos_amd64.go      |  1 -
- .../golang.org/x/sys/unix/zsyscall_linux.go   | 26 +++++-
- .../x/sys/unix/zsyscall_linux_386.go          |  1 -
- .../x/sys/unix/zsyscall_linux_amd64.go        |  1 -
- .../x/sys/unix/zsyscall_linux_arm.go          |  1 -
- .../x/sys/unix/zsyscall_linux_arm64.go        |  1 -
- .../x/sys/unix/zsyscall_linux_loong64.go      |  1 -
- .../x/sys/unix/zsyscall_linux_mips.go         |  1 -
- .../x/sys/unix/zsyscall_linux_mips64.go       |  1 -
- .../x/sys/unix/zsyscall_linux_mips64le.go     |  1 -
- .../x/sys/unix/zsyscall_linux_mipsle.go       |  1 -
- .../x/sys/unix/zsyscall_linux_ppc.go          |  1 -
- .../x/sys/unix/zsyscall_linux_ppc64.go        |  1 -
- .../x/sys/unix/zsyscall_linux_ppc64le.go      |  1 -
- .../x/sys/unix/zsyscall_linux_riscv64.go      |  1 -
- .../x/sys/unix/zsyscall_linux_s390x.go        |  1 -
- .../x/sys/unix/zsyscall_linux_sparc64.go      |  1 -
- .../x/sys/unix/zsyscall_netbsd_386.go         |  1 -
- .../x/sys/unix/zsyscall_netbsd_amd64.go       |  1 -
- .../x/sys/unix/zsyscall_netbsd_arm.go         |  1 -
- .../x/sys/unix/zsyscall_netbsd_arm64.go       |  1 -
- .../x/sys/unix/zsyscall_openbsd_386.go        | 72 ++++++++++++++-
- .../x/sys/unix/zsyscall_openbsd_386.s         | 20 ++++
- .../x/sys/unix/zsyscall_openbsd_amd64.go      | 72 ++++++++++++++-
- .../x/sys/unix/zsyscall_openbsd_amd64.s       | 20 ++++
- .../x/sys/unix/zsyscall_openbsd_arm.go        | 72 ++++++++++++++-
- .../x/sys/unix/zsyscall_openbsd_arm.s         | 20 ++++
- .../x/sys/unix/zsyscall_openbsd_arm64.go      | 72 ++++++++++++++-
- .../x/sys/unix/zsyscall_openbsd_arm64.s       | 20 ++++
- .../x/sys/unix/zsyscall_openbsd_mips64.go     | 72 ++++++++++++++-
- .../x/sys/unix/zsyscall_openbsd_mips64.s      | 20 ++++
- .../x/sys/unix/zsyscall_openbsd_ppc64.go      | 72 ++++++++++++++-
- .../x/sys/unix/zsyscall_openbsd_ppc64.s       | 24 +++++
- .../x/sys/unix/zsyscall_openbsd_riscv64.go    | 72 ++++++++++++++-
- .../x/sys/unix/zsyscall_openbsd_riscv64.s     | 20 ++++
- .../x/sys/unix/zsyscall_solaris_amd64.go      |  1 -
- .../x/sys/unix/zsyscall_zos_s390x.go          |  1 -
- .../x/sys/unix/zsysctl_openbsd_386.go         |  1 -
- .../x/sys/unix/zsysctl_openbsd_amd64.go       |  1 -
- .../x/sys/unix/zsysctl_openbsd_arm.go         |  1 -
- .../x/sys/unix/zsysctl_openbsd_arm64.go       |  1 -
- .../x/sys/unix/zsysctl_openbsd_mips64.go      |  1 -
- .../x/sys/unix/zsysctl_openbsd_ppc64.go       |  1 -
- .../x/sys/unix/zsysctl_openbsd_riscv64.go     |  1 -
- .../x/sys/unix/zsysnum_darwin_amd64.go        |  1 -
- .../x/sys/unix/zsysnum_darwin_arm64.go        |  1 -
- .../x/sys/unix/zsysnum_dragonfly_amd64.go     |  1 -
- .../x/sys/unix/zsysnum_freebsd_386.go         |  1 -
- .../x/sys/unix/zsysnum_freebsd_amd64.go       |  1 -
- .../x/sys/unix/zsysnum_freebsd_arm.go         |  1 -
- .../x/sys/unix/zsysnum_freebsd_arm64.go       |  1 -
- .../x/sys/unix/zsysnum_freebsd_riscv64.go     |  1 -
- .../x/sys/unix/zsysnum_linux_386.go           |  2 +-
- .../x/sys/unix/zsysnum_linux_amd64.go         |  3 +-
- .../x/sys/unix/zsysnum_linux_arm.go           |  2 +-
- .../x/sys/unix/zsysnum_linux_arm64.go         |  2 +-
- .../x/sys/unix/zsysnum_linux_loong64.go       |  2 +-
- .../x/sys/unix/zsysnum_linux_mips.go          |  2 +-
- .../x/sys/unix/zsysnum_linux_mips64.go        |  2 +-
- .../x/sys/unix/zsysnum_linux_mips64le.go      |  2 +-
- .../x/sys/unix/zsysnum_linux_mipsle.go        |  2 +-
- .../x/sys/unix/zsysnum_linux_ppc.go           |  2 +-
- .../x/sys/unix/zsysnum_linux_ppc64.go         |  2 +-
- .../x/sys/unix/zsysnum_linux_ppc64le.go       |  2 +-
- .../x/sys/unix/zsysnum_linux_riscv64.go       |  2 +-
- .../x/sys/unix/zsysnum_linux_s390x.go         |  2 +-
- .../x/sys/unix/zsysnum_linux_sparc64.go       |  2 +-
- .../x/sys/unix/zsysnum_netbsd_386.go          |  1 -
- .../x/sys/unix/zsysnum_netbsd_amd64.go        |  1 -
- .../x/sys/unix/zsysnum_netbsd_arm.go          |  1 -
- .../x/sys/unix/zsysnum_netbsd_arm64.go        |  1 -
- .../x/sys/unix/zsysnum_openbsd_386.go         |  1 -
- .../x/sys/unix/zsysnum_openbsd_amd64.go       |  1 -
- .../x/sys/unix/zsysnum_openbsd_arm.go         |  1 -
- .../x/sys/unix/zsysnum_openbsd_arm64.go       |  1 -
- .../x/sys/unix/zsysnum_openbsd_mips64.go      |  1 -
- .../x/sys/unix/zsysnum_openbsd_ppc64.go       |  1 -
- .../x/sys/unix/zsysnum_openbsd_riscv64.go     |  1 -
- .../x/sys/unix/zsysnum_zos_s390x.go           |  1 -
- .../golang.org/x/sys/unix/ztypes_aix_ppc.go   |  1 -
- .../golang.org/x/sys/unix/ztypes_aix_ppc64.go |  1 -
- .../x/sys/unix/ztypes_darwin_amd64.go         |  1 -
- .../x/sys/unix/ztypes_darwin_arm64.go         |  1 -
- .../x/sys/unix/ztypes_dragonfly_amd64.go      |  1 -
- .../x/sys/unix/ztypes_freebsd_386.go          |  1 -
- .../x/sys/unix/ztypes_freebsd_amd64.go        |  1 -
- .../x/sys/unix/ztypes_freebsd_arm.go          |  1 -
- .../x/sys/unix/ztypes_freebsd_arm64.go        |  1 -
- .../x/sys/unix/ztypes_freebsd_riscv64.go      |  1 -
- .../golang.org/x/sys/unix/ztypes_linux.go     | 45 ++++++++-
- .../golang.org/x/sys/unix/ztypes_linux_386.go |  1 -
- .../x/sys/unix/ztypes_linux_amd64.go          |  1 -
- .../golang.org/x/sys/unix/ztypes_linux_arm.go |  1 -
- .../x/sys/unix/ztypes_linux_arm64.go          |  1 -
- .../x/sys/unix/ztypes_linux_loong64.go        |  1 -
- .../x/sys/unix/ztypes_linux_mips.go           |  1 -
- .../x/sys/unix/ztypes_linux_mips64.go         |  1 -
- .../x/sys/unix/ztypes_linux_mips64le.go       |  1 -
- .../x/sys/unix/ztypes_linux_mipsle.go         |  1 -
- .../golang.org/x/sys/unix/ztypes_linux_ppc.go |  1 -
- .../x/sys/unix/ztypes_linux_ppc64.go          |  1 -
- .../x/sys/unix/ztypes_linux_ppc64le.go        |  1 -
- .../x/sys/unix/ztypes_linux_riscv64.go        |  1 -
- .../x/sys/unix/ztypes_linux_s390x.go          |  1 -
- .../x/sys/unix/ztypes_linux_sparc64.go        |  1 -
- .../x/sys/unix/ztypes_netbsd_386.go           |  1 -
- .../x/sys/unix/ztypes_netbsd_amd64.go         |  1 -
- .../x/sys/unix/ztypes_netbsd_arm.go           |  1 -
- .../x/sys/unix/ztypes_netbsd_arm64.go         |  1 -
- .../x/sys/unix/ztypes_openbsd_386.go          |  1 -
- .../x/sys/unix/ztypes_openbsd_amd64.go        |  1 -
- .../x/sys/unix/ztypes_openbsd_arm.go          |  1 -
- .../x/sys/unix/ztypes_openbsd_arm64.go        |  1 -
- .../x/sys/unix/ztypes_openbsd_mips64.go       |  1 -
- .../x/sys/unix/ztypes_openbsd_ppc64.go        |  1 -
- .../x/sys/unix/ztypes_openbsd_riscv64.go      |  1 -
- .../x/sys/unix/ztypes_solaris_amd64.go        |  1 -
- .../golang.org/x/sys/unix/ztypes_zos_s390x.go |  1 -
- .../golang.org/x/sys/windows/aliases.go       |  1 -
- .../vendor/golang.org/x/sys/windows/empty.s   |  1 -
- .../golang.org/x/sys/windows/eventlog.go      |  1 -
- .../golang.org/x/sys/windows/mksyscall.go     |  1 -
- .../vendor/golang.org/x/sys/windows/race.go   |  1 -
- .../vendor/golang.org/x/sys/windows/race0.go  |  1 -
- .../golang.org/x/sys/windows/registry/key.go  |  1 -
- .../x/sys/windows/registry/mksyscall.go       |  1 -
- .../x/sys/windows/registry/syscall.go         |  1 -
- .../x/sys/windows/registry/value.go           |  1 -
- .../golang.org/x/sys/windows/service.go       |  1 -
- .../vendor/golang.org/x/sys/windows/str.go    |  1 -
- .../golang.org/x/sys/windows/svc/security.go  |  1 -
- .../golang.org/x/sys/windows/svc/service.go   |  1 -
- .../golang.org/x/sys/windows/syscall.go       |  1 -
- .../x/sys/windows/syscall_windows.go          |  6 +-
- .../golang.org/x/sys/windows/types_windows.go | 28 +++++-
- .../x/sys/windows/zsyscall_windows.go         | 28 ++++++
- .../vendor/golang.org/x/term/term_unix.go     |  1 -
- .../vendor/golang.org/x/term/term_unix_bsd.go |  1 -
- .../golang.org/x/term/term_unix_other.go      |  1 -
- .../golang.org/x/term/term_unsupported.go     |  1 -
- .../x/text/secure/bidirule/bidirule10.0.0.go  |  1 -
- .../x/text/secure/bidirule/bidirule9.0.0.go   |  1 -
- .../x/text/unicode/bidi/tables10.0.0.go       |  1 -
- .../x/text/unicode/bidi/tables11.0.0.go       |  1 -
- .../x/text/unicode/bidi/tables12.0.0.go       |  1 -
- .../x/text/unicode/bidi/tables13.0.0.go       |  1 -
- .../x/text/unicode/bidi/tables15.0.0.go       |  1 -
- .../x/text/unicode/bidi/tables9.0.0.go        |  1 -
- .../x/text/unicode/norm/tables10.0.0.go       |  1 -
- .../x/text/unicode/norm/tables11.0.0.go       |  1 -
- .../x/text/unicode/norm/tables12.0.0.go       |  1 -
- .../x/text/unicode/norm/tables13.0.0.go       |  1 -
- .../x/text/unicode/norm/tables15.0.0.go       |  1 -
- .../x/text/unicode/norm/tables9.0.0.go        |  1 -
- .../k8s.io/client-go/informers/factory.go     | 10 --
- go-controller/vendor/modules.txt              | 16 ++--
- 341 files changed, 924 insertions(+), 501 deletions(-)
-
-diff --git a/go-controller/go.mod b/go-controller/go.mod
-index e3c730420..394778ac7 100644
---- a/go-controller/go.mod
-+++ b/go-controller/go.mod
-@@ -41,7 +41,7 @@ require (
- 	golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb
- 	golang.org/x/net v0.17.0
- 	golang.org/x/sync v0.2.0
--	golang.org/x/sys v0.13.0
-+	golang.org/x/sys v0.15.0
- 	golang.org/x/time v0.3.0
- 	google.golang.org/grpc v1.56.3
- 	google.golang.org/protobuf v1.30.0
-@@ -105,11 +105,11 @@ require (
- 	github.com/stretchr/objx v0.5.0 // indirect
- 	github.com/vishvananda/netns v0.0.4 // indirect
- 	go.opencensus.io v0.24.0 // indirect
--	golang.org/x/crypto v0.14.0 // indirect
-+	golang.org/x/crypto v0.17.0 // indirect
- 	golang.org/x/mod v0.11.0 // indirect
- 	golang.org/x/oauth2 v0.8.0 // indirect
--	golang.org/x/term v0.13.0 // indirect
--	golang.org/x/text v0.13.0 // indirect
-+	golang.org/x/term v0.15.0 // indirect
-+	golang.org/x/text v0.14.0 // indirect
- 	golang.org/x/tools v0.9.1 // indirect
- 	gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect
- 	google.golang.org/appengine v1.6.7 // indirect
-diff --git a/go-controller/go.sum b/go-controller/go.sum
-index da8817fbb..a3818d28a 100644
---- a/go-controller/go.sum
-+++ b/go-controller/go.sum
-@@ -811,8 +811,8 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh
- golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
- golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
- golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
--golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
--golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
-+golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
-+golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
- golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
- golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
- golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-@@ -1022,12 +1022,12 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
- golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
- golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
- golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
--golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
--golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-+golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
-+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
- golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
- golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
--golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
--golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
-+golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
-+golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
- golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
- golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
- golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-@@ -1038,8 +1038,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
- golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
- golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
- golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
--golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
--golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
-+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
-+golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
- golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
- golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
- golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-diff --git a/go-controller/vendor/golang.org/x/sys/execabs/execabs_go118.go b/go-controller/vendor/golang.org/x/sys/execabs/execabs_go118.go
-index 2000064a8..5627d70e3 100644
---- a/go-controller/vendor/golang.org/x/sys/execabs/execabs_go118.go
-+++ b/go-controller/vendor/golang.org/x/sys/execabs/execabs_go118.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build !go1.19
--// +build !go1.19
- 
- package execabs
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/execabs/execabs_go119.go b/go-controller/vendor/golang.org/x/sys/execabs/execabs_go119.go
-index f364b3418..d60ab1b41 100644
---- a/go-controller/vendor/golang.org/x/sys/execabs/execabs_go119.go
-+++ b/go-controller/vendor/golang.org/x/sys/execabs/execabs_go119.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build go1.19
--// +build go1.19
- 
- package execabs
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go b/go-controller/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
-index c9b69937a..73687de74 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build go1.5
--// +build go1.5
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/pwd_plan9.go b/go-controller/vendor/golang.org/x/sys/plan9/pwd_plan9.go
-index 98bf56b73..fb9458218 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/pwd_plan9.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/pwd_plan9.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build !go1.5
--// +build !go1.5
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/race.go b/go-controller/vendor/golang.org/x/sys/plan9/race.go
-index 62377d2ff..c02d9ed33 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/race.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/race.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build plan9 && race
--// +build plan9,race
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/race0.go b/go-controller/vendor/golang.org/x/sys/plan9/race0.go
-index f8da30876..7b15e15f6 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/race0.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/race0.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build plan9 && !race
--// +build plan9,!race
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/str.go b/go-controller/vendor/golang.org/x/sys/plan9/str.go
-index 55fa8d025..ba3e8ff8a 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/str.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/str.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build plan9
--// +build plan9
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/syscall.go b/go-controller/vendor/golang.org/x/sys/plan9/syscall.go
-index 67e5b0115..d631fd664 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/syscall.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/syscall.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build plan9
--// +build plan9
- 
- // Package plan9 contains an interface to the low-level operating system
- // primitives. OS details vary depending on the underlying system, and
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go b/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
-index 3f40b9bd7..f780d5c80 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build plan9 && 386
--// +build plan9,386
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go b/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
-index 0e6a96aa4..7de61065f 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build plan9 && amd64
--// +build plan9,amd64
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go b/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go
-index 244c501b7..ea85780f0 100644
---- a/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build plan9 && arm
--// +build plan9,arm
- 
- package plan9
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/aliases.go b/go-controller/vendor/golang.org/x/sys/unix/aliases.go
-index abc89c104..e7d3df4bd 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/aliases.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/aliases.go
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
--// +build go1.9
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
-index db9171c2e..269e173ca 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gc
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_386.s b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_386.s
-index e0fcd9b3d..a4fcef0e0 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_386.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_386.s
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (freebsd || netbsd || openbsd) && gc
--// +build freebsd netbsd openbsd
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s
-index 2b99c349a..1e63615c5 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc
--// +build darwin dragonfly freebsd netbsd openbsd
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm.s b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm.s
-index d702d4adc..6496c3100 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm.s
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (freebsd || netbsd || openbsd) && gc
--// +build freebsd netbsd openbsd
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s
-index fe36a7391..4fd1f54da 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (darwin || freebsd || netbsd || openbsd) && gc
--// +build darwin freebsd netbsd openbsd
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s
-index e5b9a8489..42f7eb9e4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (darwin || freebsd || netbsd || openbsd) && gc
--// +build darwin freebsd netbsd openbsd
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s
-index d560019ea..f8902667e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (darwin || freebsd || netbsd || openbsd) && gc
--// +build darwin freebsd netbsd openbsd
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_386.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_386.s
-index 8fd101d07..3b4734870 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_386.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_386.s
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gc
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
-index 7ed38e43c..67e29f317 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gc
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm.s
-index 8ef1d5140..d6ae269ce 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm.s
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gc
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
-index 98ae02760..01e5e253c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && arm64 && gc
--// +build linux
--// +build arm64
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_loong64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_loong64.s
-index 565357288..2abf12f6e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_loong64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_loong64.s
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && loong64 && gc
--// +build linux
--// +build loong64
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-index 21231d2ce..f84bae712 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (mips64 || mips64le) && gc
--// +build linux
--// +build mips64 mips64le
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
-index 6783b26c6..f08f62807 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (mips || mipsle) && gc
--// +build linux
--// +build mips mipsle
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
-index 19d498934..bdfc024d2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (ppc64 || ppc64le) && gc
--// +build linux
--// +build ppc64 ppc64le
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
-index e42eb81d5..2e8c99612 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build riscv64 && gc
--// +build riscv64
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
-index c46aab339..2c394b11e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && s390x && gc
--// +build linux
--// +build s390x
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
-index 5e7a1169c..fab586a2c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gc
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/go-controller/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
-index f8c5394c1..f949ec547 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gc
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/asm_zos_s390x.s b/go-controller/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
-index 3b54e1858..2f67ba86d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x && gc
--// +build zos
--// +build s390x
--// +build gc
- 
- #include "textflag.h"
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/cap_freebsd.go b/go-controller/vendor/golang.org/x/sys/unix/cap_freebsd.go
-index 0b7c6adb8..a08657890 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/cap_freebsd.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/cap_freebsd.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build freebsd
--// +build freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/constants.go b/go-controller/vendor/golang.org/x/sys/unix/constants.go
-index 394a3965b..6fb7cb77d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/constants.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/constants.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
-index 65a998508..d78513461 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix && ppc
--// +build aix,ppc
- 
- // Functions to access/create device major and minor numbers matching the
- // encoding used by AIX.
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
-index 8fc08ad0a..623a5e697 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix && ppc64
--// +build aix,ppc64
- 
- // Functions to access/create device major and minor numbers matching the
- // encoding used AIX.
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/dev_zos.go b/go-controller/vendor/golang.org/x/sys/unix/dev_zos.go
-index a388e59a0..bb6a64fe9 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/dev_zos.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/dev_zos.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- // Functions to access/create device major and minor numbers matching the
- // encoding used by z/OS.
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/dirent.go b/go-controller/vendor/golang.org/x/sys/unix/dirent.go
-index 2499f977b..1ebf11782 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/dirent.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/dirent.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/endian_big.go b/go-controller/vendor/golang.org/x/sys/unix/endian_big.go
-index a52026557..1095fd31d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/endian_big.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/endian_big.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- //
- //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
--// +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/endian_little.go b/go-controller/vendor/golang.org/x/sys/unix/endian_little.go
-index b0f2bc4ae..b9f0e277b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/endian_little.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/endian_little.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- //
- //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
--// +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/env_unix.go b/go-controller/vendor/golang.org/x/sys/unix/env_unix.go
-index 29ccc4d13..a96da71f4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/env_unix.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/env_unix.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- // Unix environment variables.
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/epoll_zos.go b/go-controller/vendor/golang.org/x/sys/unix/epoll_zos.go
-index cedaf7e02..7753fddea 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/epoll_zos.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/epoll_zos.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/fcntl.go b/go-controller/vendor/golang.org/x/sys/unix/fcntl.go
-index e9b991258..6200876fb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/fcntl.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/fcntl.go
-@@ -2,8 +2,7 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--//go:build dragonfly || freebsd || linux || netbsd || openbsd
--// +build dragonfly freebsd linux netbsd openbsd
-+//go:build dragonfly || freebsd || linux || netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go b/go-controller/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
-index 29d44808b..13b4acd5c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc)
--// +build linux,386 linux,arm linux,mips linux,mipsle linux,ppc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/fdset.go b/go-controller/vendor/golang.org/x/sys/unix/fdset.go
-index a8068f94f..9e83d18cd 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/fdset.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/fdset.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/fstatfs_zos.go b/go-controller/vendor/golang.org/x/sys/unix/fstatfs_zos.go
-index e377cc9f4..c8bde601e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/fstatfs_zos.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/fstatfs_zos.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/gccgo.go b/go-controller/vendor/golang.org/x/sys/unix/gccgo.go
-index b06f52d74..aca5721dd 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/gccgo.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/gccgo.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gccgo && !aix && !hurd
--// +build gccgo,!aix,!hurd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/gccgo_c.c b/go-controller/vendor/golang.org/x/sys/unix/gccgo_c.c
-index f98a1c542..d468b7b47 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/gccgo_c.c
-+++ b/go-controller/vendor/golang.org/x/sys/unix/gccgo_c.c
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gccgo && !aix && !hurd
--// +build gccgo,!aix,!hurd
- 
- #include <errno.h>
- #include <stdint.h>
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
-index e60e49a3d..972d61bd7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build gccgo && linux && amd64
--// +build gccgo,linux,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ifreq_linux.go b/go-controller/vendor/golang.org/x/sys/unix/ifreq_linux.go
-index 15721a510..848840ae4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ifreq_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ifreq_linux.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux
--// +build linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ioctl_linux.go b/go-controller/vendor/golang.org/x/sys/unix/ioctl_linux.go
-index 0d12c0851..dbe680eab 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ioctl_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ioctl_linux.go
-@@ -231,3 +231,8 @@ func IoctlLoopGetStatus64(fd int) (*LoopInfo64, error) {
- func IoctlLoopSetStatus64(fd int, value *LoopInfo64) error {
- 	return ioctlPtr(fd, LOOP_SET_STATUS64, unsafe.Pointer(value))
- }
-+
-+// IoctlLoopConfigure configures all loop device parameters in a single step
-+func IoctlLoopConfigure(fd int, value *LoopConfig) error {
-+	return ioctlPtr(fd, LOOP_CONFIGURE, unsafe.Pointer(value))
-+}
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ioctl_signed.go b/go-controller/vendor/golang.org/x/sys/unix/ioctl_signed.go
-index 7def9580e..5b0759bd8 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ioctl_signed.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ioctl_signed.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || solaris
--// +build aix solaris
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ioctl_unsigned.go b/go-controller/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
-index 649913d1e..20f470b9d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd
--// +build darwin dragonfly freebsd hurd linux netbsd openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ioctl_zos.go b/go-controller/vendor/golang.org/x/sys/unix/ioctl_zos.go
-index cdc21bf76..c8b2a750f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ioctl_zos.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ioctl_zos.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/mkerrors.sh b/go-controller/vendor/golang.org/x/sys/unix/mkerrors.sh
-index 47fa6a7eb..6202638ba 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/mkerrors.sh
-+++ b/go-controller/vendor/golang.org/x/sys/unix/mkerrors.sh
-@@ -519,6 +519,7 @@ ccflags="$@"
- 		$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
- 		$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
- 		$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
-+		$2 == "LOOP_CONFIGURE" ||
- 		$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MREMAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT|UDP)_/ ||
- 		$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
- 		$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
-@@ -560,7 +561,7 @@ ccflags="$@"
- 		$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ ||
- 		$2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
- 		$2 ~ /^CLONE_[A-Z_]+/ ||
--		$2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ &&
-+		$2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+|BPF_F_LINK)$/ &&
- 		$2 ~ /^(BPF|DLT)_/ ||
- 		$2 ~ /^AUDIT_/ ||
- 		$2 ~ /^(CLOCK|TIMER)_/ ||
-@@ -663,7 +664,6 @@ echo '// mkerrors.sh' "$@"
- echo '// Code generated by the command above; see README.md. DO NOT EDIT.'
- echo
- echo "//go:build ${GOARCH} && ${GOOS}"
--echo "// +build ${GOARCH},${GOOS}"
- echo
- go tool cgo -godefs -- "$@" _const.go >_error.out
- cat _error.out | grep -vf _error.grep | grep -vf _signal.grep
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/mmap_nomremap.go b/go-controller/vendor/golang.org/x/sys/unix/mmap_nomremap.go
-index ca0513632..4b68e5978 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/mmap_nomremap.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/mmap_nomremap.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris
--// +build aix darwin dragonfly freebsd openbsd solaris
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/mremap.go b/go-controller/vendor/golang.org/x/sys/unix/mremap.go
-index fa93d0aa9..fd45fe529 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/mremap.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/mremap.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux || netbsd
--// +build linux netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/pagesize_unix.go b/go-controller/vendor/golang.org/x/sys/unix/pagesize_unix.go
-index 53f1b4c5b..4d0a3430e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/pagesize_unix.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/pagesize_unix.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- // For Unix, get the pagesize from the runtime.
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/pledge_openbsd.go b/go-controller/vendor/golang.org/x/sys/unix/pledge_openbsd.go
-index eb48294b2..6a09af53e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/pledge_openbsd.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/pledge_openbsd.go
-@@ -8,54 +8,31 @@ import (
- 	"errors"
- 	"fmt"
- 	"strconv"
--	"syscall"
--	"unsafe"
- )
- 
- // Pledge implements the pledge syscall.
- //
--// The pledge syscall does not accept execpromises on OpenBSD releases
--// before 6.3.
--//
--// execpromises must be empty when Pledge is called on OpenBSD
--// releases predating 6.3, otherwise an error will be returned.
-+// This changes both the promises and execpromises; use PledgePromises or
-+// PledgeExecpromises to only change the promises or execpromises
-+// respectively.
- //
- // For more information see pledge(2).
- func Pledge(promises, execpromises string) error {
--	maj, min, err := majmin()
--	if err != nil {
-+	if err := pledgeAvailable(); err != nil {
- 		return err
- 	}
- 
--	err = pledgeAvailable(maj, min, execpromises)
-+	pptr, err := BytePtrFromString(promises)
- 	if err != nil {
- 		return err
- 	}
- 
--	pptr, err := syscall.BytePtrFromString(promises)
-+	exptr, err := BytePtrFromString(execpromises)
- 	if err != nil {
- 		return err
- 	}
- 
--	// This variable will hold either a nil unsafe.Pointer or
--	// an unsafe.Pointer to a string (execpromises).
--	var expr unsafe.Pointer
--
--	// If we're running on OpenBSD > 6.2, pass execpromises to the syscall.
--	if maj > 6 || (maj == 6 && min > 2) {
--		exptr, err := syscall.BytePtrFromString(execpromises)
--		if err != nil {
--			return err
--		}
--		expr = unsafe.Pointer(exptr)
--	}
--
--	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
--	if e != 0 {
--		return e
--	}
--
--	return nil
-+	return pledge(pptr, exptr)
- }
- 
- // PledgePromises implements the pledge syscall.
-@@ -64,30 +41,16 @@ func Pledge(promises, execpromises string) error {
- //
- // For more information see pledge(2).
- func PledgePromises(promises string) error {
--	maj, min, err := majmin()
--	if err != nil {
--		return err
--	}
--
--	err = pledgeAvailable(maj, min, "")
--	if err != nil {
-+	if err := pledgeAvailable(); err != nil {
- 		return err
- 	}
- 
--	// This variable holds the execpromises and is always nil.
--	var expr unsafe.Pointer
--
--	pptr, err := syscall.BytePtrFromString(promises)
-+	pptr, err := BytePtrFromString(promises)
- 	if err != nil {
- 		return err
- 	}
- 
--	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
--	if e != 0 {
--		return e
--	}
--
--	return nil
-+	return pledge(pptr, nil)
- }
- 
- // PledgeExecpromises implements the pledge syscall.
-@@ -96,30 +59,16 @@ func PledgePromises(promises string) error {
- //
- // For more information see pledge(2).
- func PledgeExecpromises(execpromises string) error {
--	maj, min, err := majmin()
--	if err != nil {
-+	if err := pledgeAvailable(); err != nil {
- 		return err
- 	}
- 
--	err = pledgeAvailable(maj, min, execpromises)
-+	exptr, err := BytePtrFromString(execpromises)
- 	if err != nil {
- 		return err
- 	}
- 
--	// This variable holds the promises and is always nil.
--	var pptr unsafe.Pointer
--
--	exptr, err := syscall.BytePtrFromString(execpromises)
--	if err != nil {
--		return err
--	}
--
--	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0)
--	if e != 0 {
--		return e
--	}
--
--	return nil
-+	return pledge(nil, exptr)
- }
- 
- // majmin returns major and minor version number for an OpenBSD system.
-@@ -147,16 +96,15 @@ func majmin() (major int, minor int, err error) {
- 
- // pledgeAvailable checks for availability of the pledge(2) syscall
- // based on the running OpenBSD version.
--func pledgeAvailable(maj, min int, execpromises string) error {
--	// If OpenBSD <= 5.9, pledge is not available.
--	if (maj == 5 && min != 9) || maj < 5 {
--		return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min)
-+func pledgeAvailable() error {
-+	maj, min, err := majmin()
-+	if err != nil {
-+		return err
- 	}
- 
--	// If OpenBSD <= 6.2 and execpromises is not empty,
--	// return an error - execpromises is not available before 6.3
--	if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" {
--		return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min)
-+	// Require OpenBSD 6.4 as a minimum.
-+	if maj < 6 || (maj == 6 && min <= 3) {
-+		return fmt.Errorf("cannot call Pledge on OpenBSD %d.%d", maj, min)
- 	}
- 
- 	return nil
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ptrace_darwin.go b/go-controller/vendor/golang.org/x/sys/unix/ptrace_darwin.go
-index 463c3eff7..3f0975f3d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ptrace_darwin.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ptrace_darwin.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build darwin && !ios
--// +build darwin,!ios
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ptrace_ios.go b/go-controller/vendor/golang.org/x/sys/unix/ptrace_ios.go
-index ed0509a01..a4d35db5d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ptrace_ios.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ptrace_ios.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build ios
--// +build ios
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/race.go b/go-controller/vendor/golang.org/x/sys/unix/race.go
-index 6f6c5fec5..714d2aae7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/race.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/race.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (darwin && race) || (linux && race) || (freebsd && race)
--// +build darwin,race linux,race freebsd,race
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/race0.go b/go-controller/vendor/golang.org/x/sys/unix/race0.go
-index 706e1322a..4a9f6634c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/race0.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/race0.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos
--// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly zos
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdents.go b/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdents.go
-index 4d6257569..dbd2b6ccb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdents.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdents.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd
--// +build aix dragonfly freebsd linux netbsd openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
-index 2a4ba47c4..130398b6b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build darwin
--// +build darwin
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
-index 3865943f6..c3a62dbb1 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- // Socket control messages
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go b/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
-index 0840fe4a5..4a1eab37e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin freebsd linux netbsd openbsd solaris zos
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall.go b/go-controller/vendor/golang.org/x/sys/unix/syscall.go
-index 63e8c8383..5ea74da98 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- // Package unix contains an interface to the low-level operating system
- // primitives. OS details vary depending on the underlying system, and
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_aix.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_aix.go
-index e94e6cdac..67ce6cef2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_aix.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_aix.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix
--// +build aix
- 
- // Aix system calls.
- // This file is compiled as ordinary Go code,
-@@ -107,7 +106,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	if n > 0 {
- 		sl += _Socklen(n) + 1
- 	}
--	if sa.raw.Path[0] == '@' {
-+	if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
-+		// Check sl > 3 so we don't change unnamed socket behavior.
- 		sa.raw.Path[0] = 0
- 		// Don't count trailing NUL for abstract address.
- 		sl--
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
-index f2871fa95..1fdaa4760 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix && ppc
--// +build aix,ppc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
-index 75718ec0f..c87f9a9f4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix && ppc64
--// +build aix,ppc64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_bsd.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_bsd.go
-index 4217de518..a00c3e545 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_bsd.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_bsd.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build darwin || dragonfly || freebsd || netbsd || openbsd
--// +build darwin dragonfly freebsd netbsd openbsd
- 
- // BSD system call wrappers shared by *BSD based systems
- // including OS X (Darwin) and FreeBSD.  Like the other
-@@ -317,7 +316,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
- 	if err != nil {
- 		return "", err
- 	}
--	return string(buf[:vallen-1]), nil
-+	return ByteSliceToString(buf[:vallen]), nil
- }
- 
- //sys	recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
-index b37310ce9..0eaecf5fc 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && darwin
--// +build amd64,darwin
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
-index d51ec9963..f36c6707c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm64 && darwin
--// +build arm64,darwin
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
-index 53c96641f..16dc69937 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build darwin && go1.12
--// +build darwin,go1.12
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-index 4e2d32120..14bab6b2d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && dragonfly
--// +build amd64,dragonfly
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
-index b8da51004..3967bca77 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build 386 && freebsd
--// +build 386,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
-index 47155c483..eff19ada2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && freebsd
--// +build amd64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
-index 08932093f..4f24b517a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm && freebsd
--// +build arm,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
-index d151a0d0e..ac30759ec 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm64 && freebsd
--// +build arm64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
-index d5cd64b37..aab725ca7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build riscv64 && freebsd
--// +build riscv64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd.go
-index 381fd4673..ba46651f8 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build hurd
--// +build hurd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd_386.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd_386.go
-index 7cf54a3e4..df89f9e6b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_hurd_386.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build 386 && hurd
--// +build 386,hurd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_illumos.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_illumos.go
-index 87db5a6a8..a863f7052 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_illumos.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_illumos.go
-@@ -5,7 +5,6 @@
- // illumos system calls not present on Solaris.
- 
- //go:build amd64 && illumos
--// +build amd64,illumos
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux.go
-index fb4e50224..0f85e29e6 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux.go
-@@ -61,15 +61,23 @@ func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (
- }
- 
- //sys	fchmodat(dirfd int, path string, mode uint32) (err error)
--
--func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
--	// Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior
--	// and check the flags. Otherwise the mode would be applied to the symlink
--	// destination which is not what the user expects.
--	if flags&^AT_SYMLINK_NOFOLLOW != 0 {
--		return EINVAL
--	} else if flags&AT_SYMLINK_NOFOLLOW != 0 {
--		return EOPNOTSUPP
-+//sys	fchmodat2(dirfd int, path string, mode uint32, flags int) (err error)
-+
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
-+	// Linux fchmodat doesn't support the flags parameter, but fchmodat2 does.
-+	// Try fchmodat2 if flags are specified.
-+	if flags != 0 {
-+		err := fchmodat2(dirfd, path, mode, flags)
-+		if err == ENOSYS {
-+			// fchmodat2 isn't available. If the flags are known to be valid,
-+			// return EOPNOTSUPP to indicate that fchmodat doesn't support them.
-+			if flags&^(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
-+				return EINVAL
-+			} else if flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
-+				return EOPNOTSUPP
-+			}
-+		}
-+		return err
- 	}
- 	return fchmodat(dirfd, path, mode)
- }
-@@ -417,7 +425,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	if n > 0 {
- 		sl += _Socklen(n) + 1
- 	}
--	if sa.raw.Path[0] == '@' {
-+	if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
-+		// Check sl > 3 so we don't change unnamed socket behavior.
- 		sa.raw.Path[0] = 0
- 		// Don't count trailing NUL for abstract address.
- 		sl--
-@@ -1301,7 +1310,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
- 			return "", err
- 		}
- 	}
--	return string(buf[:vallen-1]), nil
-+	return ByteSliceToString(buf[:vallen]), nil
- }
- 
- func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
-@@ -2482,3 +2491,5 @@ func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) {
- 	}
- 	return attr, nil
- }
-+
-+//sys	Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_386.go
-index c7d9945ea..506dafa7b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_386.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build 386 && linux
--// +build 386,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
-index 08086ac6a..38d55641b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64)
--// +build linux
--// +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
-index 70601ce36..d557cf8de 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && linux
--// +build amd64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
-index 8b0f0f3aa..facdb83b2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && linux && gc
--// +build amd64,linux,gc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
-index da2986415..cd2dd797f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm && linux
--// +build arm,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-index f5266689a..cf2ee6c75 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm64 && linux
--// +build arm64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
-index 2b1168d7d..ffc4c2b63 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && gc
--// +build linux,gc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
-index 9843fb489..9ebfdcf44 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && gc && 386
--// +build linux,gc,386
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
-index a6008fccd..5f2b57c4c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm && gc && linux
--// +build arm,gc,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
-index 7740af242..d1a3ad826 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && gccgo && 386
--// +build linux,gccgo,386
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
-index e16a12299..f2f67423e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && gccgo && arm
--// +build linux,gccgo,arm
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
-index f6ab02ec1..3d0e98451 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build loong64 && linux
--// +build loong64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
-index 93fe59d25..70963a95a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (mips64 || mips64le)
--// +build linux
--// +build mips64 mips64le
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
-index aae7f0ffd..c218ebd28 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (mips || mipsle)
--// +build linux
--// +build mips mipsle
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
-index 66eff19a3..e6c48500c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && ppc
--// +build linux,ppc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
-index 806aa2574..7286a9aa8 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (ppc64 || ppc64le)
--// +build linux
--// +build ppc64 ppc64le
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
-index 5e6ceee12..6f5a28894 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build riscv64 && linux
--// +build riscv64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
-index 2f89e8f5d..66f31210d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build s390x && linux
--// +build s390x,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
-index 7ca064ae7..11d1f1698 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build sparc64 && linux
--// +build sparc64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
-index 5199d282f..7a5eb5743 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build 386 && netbsd
--// +build 386,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-index 70a9c52e9..62d8957ae 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && netbsd
--// +build amd64,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
-index 3eb5942f9..ce6a06885 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm && netbsd
--// +build arm,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
-index fc6ccfd81..d46d689d1 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm64 && netbsd
--// +build arm64,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd.go
-index 6f34479b5..b25343c71 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd.go
-@@ -137,18 +137,13 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- }
- 
- func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
-+	var bufptr *Statfs_t
- 	var bufsize uintptr
- 	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
-+		bufptr = &buf[0]
- 		bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
- 	}
--	r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = e1
--	}
--	return
-+	return getfsstat(bufptr, bufsize, flags)
- }
- 
- //sysnb	getresuid(ruid *_C_int, euid *_C_int, suid *_C_int)
-@@ -171,6 +166,20 @@ func Getresgid() (rgid, egid, sgid int) {
- 
- //sys	sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
- 
-+//sys	fcntl(fd int, cmd int, arg int) (n int, err error)
-+//sys	fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) = SYS_FCNTL
-+
-+// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
-+func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
-+	return fcntl(int(fd), cmd, arg)
-+}
-+
-+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
-+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
-+	_, err := fcntlPtr(int(fd), cmd, unsafe.Pointer(lk))
-+	return err
-+}
-+
- //sys	ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
- 
- func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-@@ -326,4 +335,7 @@ func Uname(uname *Utsname) error {
- //sys	write(fd int, p []byte) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
- //sys	munmap(addr uintptr, length uintptr) (err error)
-+//sys	getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error)
- //sys	utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
-+//sys	pledge(promises *byte, execpromises *byte) (err error)
-+//sys	unveil(path *byte, flags *byte) (err error)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
-index 6baabcdcb..9ddc89f4f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build 386 && openbsd
--// +build 386,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
-index bab25360e..70a3c96ee 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && openbsd
--// +build amd64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
-index 8eed3c4d4..265caa87f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm && openbsd
--// +build arm,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
-index 483dde99d..ac4fda171 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build arm64 && openbsd
--// +build arm64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go
-index 04aa43f41..0a451e6dd 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build openbsd
--// +build openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go
-index c2796139c..30a308cbb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build ppc64 && openbsd
--// +build ppc64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go
-index 23199a7ff..ea954330f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build riscv64 && openbsd
--// +build riscv64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris.go
-index b99cfa134..21974af06 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris.go
-@@ -128,7 +128,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	if n > 0 {
- 		sl += _Socklen(n) + 1
- 	}
--	if sa.raw.Path[0] == '@' {
-+	if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
-+		// Check sl > 3 so we don't change unnamed socket behavior.
- 		sa.raw.Path[0] = 0
- 		// Don't count trailing NUL for abstract address.
- 		sl--
-@@ -157,7 +158,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
- 	if err != nil {
- 		return "", err
- 	}
--	return string(buf[:vallen-1]), nil
-+	return ByteSliceToString(buf[:vallen]), nil
- }
- 
- const ImplementsGetwd = true
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
-index 0bd25ef81..e02d8ceae 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build amd64 && solaris
--// +build amd64,solaris
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_unix.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_unix.go
-index f6eda2705..77081de8c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_unix.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_unix.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-index b6919ca58..05c95bccf 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-@@ -3,8 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc
--// +build darwin dragonfly freebsd linux,!ppc64,!ppc64le netbsd openbsd solaris
--// +build gc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
-index f6f707acf..23f39b7af 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
-@@ -3,9 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux && (ppc64le || ppc64) && gc
--// +build linux
--// +build ppc64le ppc64
--// +build gc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
-index 4596d041c..b473038c6 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- package unix
- 
-@@ -1105,7 +1104,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
- 		return "", err
- 	}
- 
--	return string(buf[:vallen-1]), nil
-+	return ByteSliceToString(buf[:vallen]), nil
- }
- 
- func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/sysvshm_linux.go b/go-controller/vendor/golang.org/x/sys/unix/sysvshm_linux.go
-index 2c3a4437f..4fcd38de2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/sysvshm_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/sysvshm_linux.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build linux
--// +build linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix.go b/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix.go
-index 5bb41d17b..79a84f18b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build (darwin && !ios) || linux
--// +build darwin,!ios linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go b/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
-index 71bddefdb..9eb0db664 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build darwin && !ios
--// +build darwin,!ios
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/timestruct.go b/go-controller/vendor/golang.org/x/sys/unix/timestruct.go
-index 616b1b284..7997b1902 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/timestruct.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/timestruct.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/unveil_openbsd.go b/go-controller/vendor/golang.org/x/sys/unix/unveil_openbsd.go
-index 168d5ae77..cb7e598ce 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/unveil_openbsd.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/unveil_openbsd.go
-@@ -4,39 +4,48 @@
- 
- package unix
- 
--import (
--	"syscall"
--	"unsafe"
--)
-+import "fmt"
- 
- // Unveil implements the unveil syscall.
- // For more information see unveil(2).
- // Note that the special case of blocking further
- // unveil calls is handled by UnveilBlock.
- func Unveil(path string, flags string) error {
--	pathPtr, err := syscall.BytePtrFromString(path)
--	if err != nil {
-+	if err := supportsUnveil(); err != nil {
- 		return err
- 	}
--	flagsPtr, err := syscall.BytePtrFromString(flags)
-+	pathPtr, err := BytePtrFromString(path)
- 	if err != nil {
- 		return err
- 	}
--	_, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0)
--	if e != 0 {
--		return e
-+	flagsPtr, err := BytePtrFromString(flags)
-+	if err != nil {
-+		return err
- 	}
--	return nil
-+	return unveil(pathPtr, flagsPtr)
- }
- 
- // UnveilBlock blocks future unveil calls.
- // For more information see unveil(2).
- func UnveilBlock() error {
--	// Both pointers must be nil.
--	var pathUnsafe, flagsUnsafe unsafe.Pointer
--	_, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0)
--	if e != 0 {
--		return e
-+	if err := supportsUnveil(); err != nil {
-+		return err
- 	}
-+	return unveil(nil, nil)
-+}
-+
-+// supportsUnveil checks for availability of the unveil(2) system call based
-+// on the running OpenBSD version.
-+func supportsUnveil() error {
-+	maj, min, err := majmin()
-+	if err != nil {
-+		return err
-+	}
-+
-+	// unveil is not available before 6.4
-+	if maj < 6 || (maj == 6 && min <= 3) {
-+		return fmt.Errorf("cannot call Unveil on OpenBSD %d.%d", maj, min)
-+	}
-+
- 	return nil
- }
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/xattr_bsd.go b/go-controller/vendor/golang.org/x/sys/unix/xattr_bsd.go
-index f5f8e9f36..e16879396 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/xattr_bsd.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/xattr_bsd.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build freebsd || netbsd
--// +build freebsd netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
-index ca9799b79..2fb219d78 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc && aix
--// +build ppc,aix
- 
- // Created by cgo -godefs - DO NOT EDIT
- // cgo -godefs -- -maix32 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
-index 200c8c26f..b0e6f5c85 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && aix
--// +build ppc64,aix
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -maix64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
-index 143007627..e40fa8524 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && darwin
--// +build amd64,darwin
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
-index ab044a742..bb02aa6c0 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && darwin
--// +build arm64,darwin
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
-index 17bba0e44..c0e0f8694 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && dragonfly
--// +build amd64,dragonfly
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
-index f8c2c5138..6c6923906 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && freebsd
--// +build 386,freebsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m32 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-index 96310c3be..dd9163f8e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && freebsd
--// +build amd64,freebsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
-index 777b69def..493a2a793 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && freebsd
--// +build arm,freebsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
-index c557ac2db..8b437b307 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && freebsd
--// +build arm64,freebsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go
-index 341b4d962..67c02dd57 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && freebsd
--// +build riscv64,freebsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux.go
-index f9c7f479b..c73cfe2f1 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux.go
-@@ -1,7 +1,6 @@
- // Code generated by mkmerge; DO NOT EDIT.
- 
- //go:build linux
--// +build linux
- 
- package unix
- 
-@@ -481,10 +480,13 @@ const (
- 	BPF_FROM_BE                                 = 0x8
- 	BPF_FROM_LE                                 = 0x0
- 	BPF_FS_MAGIC                                = 0xcafe4a11
-+	BPF_F_AFTER                                 = 0x10
- 	BPF_F_ALLOW_MULTI                           = 0x2
- 	BPF_F_ALLOW_OVERRIDE                        = 0x1
- 	BPF_F_ANY_ALIGNMENT                         = 0x2
--	BPF_F_KPROBE_MULTI_RETURN                   = 0x1
-+	BPF_F_BEFORE                                = 0x8
-+	BPF_F_ID                                    = 0x20
-+	BPF_F_NETFILTER_IP_DEFRAG                   = 0x1
- 	BPF_F_QUERY_EFFECTIVE                       = 0x1
- 	BPF_F_REPLACE                               = 0x4
- 	BPF_F_SLEEPABLE                             = 0x10
-@@ -521,6 +523,7 @@ const (
- 	BPF_MAJOR_VERSION                           = 0x1
- 	BPF_MAXINSNS                                = 0x1000
- 	BPF_MEM                                     = 0x60
-+	BPF_MEMSX                                   = 0x80
- 	BPF_MEMWORDS                                = 0x10
- 	BPF_MINOR_VERSION                           = 0x1
- 	BPF_MISC                                    = 0x7
-@@ -776,6 +779,8 @@ const (
- 	DEVLINK_GENL_MCGRP_CONFIG_NAME              = "config"
- 	DEVLINK_GENL_NAME                           = "devlink"
- 	DEVLINK_GENL_VERSION                        = 0x1
-+	DEVLINK_PORT_FN_CAP_IPSEC_CRYPTO            = 0x4
-+	DEVLINK_PORT_FN_CAP_IPSEC_PACKET            = 0x8
- 	DEVLINK_PORT_FN_CAP_MIGRATABLE              = 0x2
- 	DEVLINK_PORT_FN_CAP_ROCE                    = 0x1
- 	DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX           = 0x14
-@@ -1698,6 +1703,7 @@ const (
- 	KEXEC_ON_CRASH                              = 0x1
- 	KEXEC_PRESERVE_CONTEXT                      = 0x2
- 	KEXEC_SEGMENT_MAX                           = 0x10
-+	KEXEC_UPDATE_ELFCOREHDR                     = 0x4
- 	KEYCTL_ASSUME_AUTHORITY                     = 0x10
- 	KEYCTL_CAPABILITIES                         = 0x1f
- 	KEYCTL_CAPS0_BIG_KEY                        = 0x10
-@@ -1795,6 +1801,7 @@ const (
- 	LOCK_SH                                     = 0x1
- 	LOCK_UN                                     = 0x8
- 	LOOP_CLR_FD                                 = 0x4c01
-+	LOOP_CONFIGURE                              = 0x4c0a
- 	LOOP_CTL_ADD                                = 0x4c80
- 	LOOP_CTL_GET_FREE                           = 0x4c82
- 	LOOP_CTL_REMOVE                             = 0x4c81
-@@ -2275,6 +2282,7 @@ const (
- 	PERF_MEM_LVLNUM_PMEM                        = 0xe
- 	PERF_MEM_LVLNUM_RAM                         = 0xd
- 	PERF_MEM_LVLNUM_SHIFT                       = 0x21
-+	PERF_MEM_LVLNUM_UNC                         = 0x8
- 	PERF_MEM_LVL_HIT                            = 0x2
- 	PERF_MEM_LVL_IO                             = 0x1000
- 	PERF_MEM_LVL_L1                             = 0x8
-@@ -3461,6 +3469,7 @@ const (
- 	XDP_PACKET_HEADROOM                         = 0x100
- 	XDP_PGOFF_RX_RING                           = 0x0
- 	XDP_PGOFF_TX_RING                           = 0x80000000
-+	XDP_PKT_CONTD                               = 0x1
- 	XDP_RING_NEED_WAKEUP                        = 0x1
- 	XDP_RX_RING                                 = 0x2
- 	XDP_SHARED_UMEM                             = 0x1
-@@ -3473,6 +3482,7 @@ const (
- 	XDP_UMEM_REG                                = 0x4
- 	XDP_UMEM_UNALIGNED_CHUNK_FLAG               = 0x1
- 	XDP_USE_NEED_WAKEUP                         = 0x8
-+	XDP_USE_SG                                  = 0x10
- 	XDP_ZEROCOPY                                = 0x4
- 	XENFS_SUPER_MAGIC                           = 0xabba1974
- 	XFS_SUPER_MAGIC                             = 0x58465342
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
-index 30aee00a5..4920821cf 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && linux
--// +build 386,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/386/include -m32 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
-index 8ebfa5127..a0c1e4112 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && linux
--// +build amd64,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/amd64/include -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
-index 271a21cdc..c63985560 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && linux
--// +build arm,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/arm/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
-index 910c330a3..47cc62e25 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && linux
--// +build arm64,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/arm64/include -fsigned-char _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
-index a640798c9..27ac4a09e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build loong64 && linux
--// +build loong64,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/loong64/include _const.go
-@@ -119,6 +118,7 @@ const (
- 	IXOFF                            = 0x1000
- 	IXON                             = 0x400
- 	LASX_CTX_MAGIC                   = 0x41535801
-+	LBT_CTX_MAGIC                    = 0x42540001
- 	LSX_CTX_MAGIC                    = 0x53580001
- 	MAP_ANON                         = 0x20
- 	MAP_ANONYMOUS                    = 0x20
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
-index 0d5925d34..54694642a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips && linux
--// +build mips,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/mips/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
-index d72a00e0b..3adb81d75 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64 && linux
--// +build mips64,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/mips64/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
-index 02ba129f8..2dfe98f0d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64le && linux
--// +build mips64le,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/mips64le/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
-index 8daa6dd96..f5398f84f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mipsle && linux
--// +build mipsle,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/mipsle/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
-index 63c8fa2f7..c54f152d6 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc && linux
--// +build ppc,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/ppc/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
-index 930799ec1..76057dc72 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && linux
--// +build ppc64,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
-index 8605a7dd7..e0c3725e2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64le && linux
--// +build ppc64le,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64le/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
-index 95a016f1c..18f2813ed 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && linux
--// +build riscv64,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/riscv64/include _const.go
-@@ -228,6 +227,9 @@ const (
- 	PPPIOCUNBRIDGECHAN               = 0x7434
- 	PPPIOCXFERUNIT                   = 0x744e
- 	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_GETFDPIC                  = 0x21
-+	PTRACE_GETFDPIC_EXEC             = 0x0
-+	PTRACE_GETFDPIC_INTERP           = 0x1
- 	RLIMIT_AS                        = 0x9
- 	RLIMIT_MEMLOCK                   = 0x8
- 	RLIMIT_NOFILE                    = 0x7
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
-index 1ae0108f5..11619d4ec 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build s390x && linux
--// +build s390x,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/s390x/include -fsigned-char _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
-index 1bb7c6333..396d994da 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build sparc64 && linux
--// +build sparc64,linux
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/sparc64/include _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
-index 72f7420d2..130085df4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && netbsd
--// +build 386,netbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m32 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-index 8d4eb0c08..84769a1a3 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && netbsd
--// +build amd64,netbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
-index 9eef9749f..602ded003 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && netbsd
--// +build arm,netbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -marm _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
-index 3b62ba192..efc0406ee 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && netbsd
--// +build arm64,netbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
-index af20e474b..5a6500f83 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && openbsd
--// +build 386,openbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m32 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-index 6015fcb2b..a5aeeb979 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && openbsd
--// +build amd64,openbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
-index 8d44955e4..0e9748a72 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && openbsd
--// +build arm,openbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
-index ae16fe754..4f4449abc 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && openbsd
--// +build arm64,openbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go
-index 03d90fe35..76a363f0f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64 && openbsd
--// +build mips64,openbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go
-index 8e2c51b1e..43ca0cdfd 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && openbsd
--// +build ppc64,openbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go
-index 13d403031..b1b8bb200 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && openbsd
--// +build riscv64,openbsd
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
-index 1afee6a08..d2ddd3176 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && solaris
--// +build amd64,solaris
- 
- // Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
-index fc7d0506f..4dfd2e051 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- // Hand edited based on zerrors_linux_s390x.go
- // TODO: auto-generate.
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go b/go-controller/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
-index 97f20ca28..586317c78 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
-@@ -1,8 +1,6 @@
- // Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT.
- 
- //go:build linux && (arm || arm64)
--// +build linux
--// +build arm arm64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go b/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
-index 0b5f79430..d7c881be7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
-@@ -1,8 +1,6 @@
- // Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT.
- 
- //go:build linux && (mips || mips64)
--// +build linux
--// +build mips mips64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go b/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
-index 2807f7e64..2d2de5d29 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
-@@ -1,8 +1,6 @@
- // Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT.
- 
- //go:build linux && (mipsle || mips64le)
--// +build linux
--// +build mipsle mips64le
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go b/go-controller/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
-index 281ea64e3..5adc79fb5 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
-@@ -1,8 +1,6 @@
- // Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT.
- 
- //go:build linux && (386 || amd64)
--// +build linux
--// +build 386 amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
-index d1d1d2331..6ea64a3c0 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build aix && ppc
--// +build aix,ppc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
-index f99a18adc..99ee4399a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build aix && ppc64
--// +build aix,ppc64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
-index c4d50ae50..b68a78362 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build aix && ppc64 && gc
--// +build aix,ppc64,gc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
-index 6903d3b09..0a87450bf 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build aix && ppc64 && gccgo
--// +build aix,ppc64,gccgo
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
-index 1cad561e9..ccb02f240 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build darwin && amd64
--// +build darwin,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-index b18edbd0e..1b40b997b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build darwin && arm64
--// +build darwin,arm64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
-index 0c67df64a..aad65fc79 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build dragonfly && amd64
--// +build dragonfly,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
-index e6e05d145..c0096391a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build freebsd && 386
--// +build freebsd,386
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-index 7508accac..7664df749 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build freebsd && amd64
--// +build freebsd,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
-index 7b56aead4..ae099182c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build freebsd && arm
--// +build freebsd,arm
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
-index cc623dcaa..11fd5d45b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build freebsd && arm64
--// +build freebsd,arm64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
-index 581849197..c3d2d6530 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build freebsd && riscv64
--// +build freebsd,riscv64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
-index 6be25cd19..c698cbc01 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build illumos && amd64
--// +build illumos,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux.go
-index 1ff3aec74..1488d2712 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux.go
-@@ -1,7 +1,6 @@
- // Code generated by mkmerge; DO NOT EDIT.
- 
- //go:build linux
--// +build linux
- 
- package unix
- 
-@@ -38,6 +37,21 @@ func fchmodat(dirfd int, path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fchmodat2(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ioctl(fd int, req uint, arg uintptr) (err error) {
- 	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
- 	if e1 != 0 {
-@@ -2195,3 +2209,13 @@ func schedGetattr(pid int, attr *SchedAttr, size uint, flags uint) (err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) {
-+	_, _, e1 := Syscall6(SYS_CACHESTAT, uintptr(fd), uintptr(unsafe.Pointer(crange)), uintptr(unsafe.Pointer(cstat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
-index 07b549cc2..4def3e9fc 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && 386
--// +build linux,386
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
-index 5f481bf83..fef2bc8ba 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && amd64
--// +build linux,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
-index 824cd52c7..a9fd76a88 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && arm
--// +build linux,arm
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
-index e77aecfe9..460065028 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && arm64
--// +build linux,arm64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
-index 806ffd1e1..c8987d264 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && loong64
--// +build linux,loong64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
-index 961a3afb7..921f43061 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && mips
--// +build linux,mips
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
-index ed05005e9..44f067829 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && mips64
--// +build linux,mips64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
-index d365b718f..e7fa0abf0 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && mips64le
--// +build linux,mips64le
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
-index c3f1b8bbd..8c5125675 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && mipsle
--// +build linux,mipsle
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
-index a6574cf98..7392fd45e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && ppc
--// +build linux,ppc
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
-index f40990264..41180434e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && ppc64
--// +build linux,ppc64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
-index 9dfcc2997..40c6ce7ae 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && ppc64le
--// +build linux,ppc64le
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
-index 0ab4f2ed7..2cfe34adb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && riscv64
--// +build linux,riscv64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-index 6cde32237..61e6f0709 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && s390x
--// +build linux,s390x
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
-index 5253d65bf..834b84204 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build linux && sparc64
--// +build linux,sparc64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
-index 2df3c5bac..e91ebc14a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build netbsd && 386
--// +build netbsd,386
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-index a60556bab..be28babbc 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build netbsd && amd64
--// +build netbsd,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
-index 9f788917a..fb587e826 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build netbsd && arm
--// +build netbsd,arm
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
-index 82a4cb2dc..d576438bb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build netbsd && arm64
--// +build netbsd,arm64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
-index 66b3b6456..a1d061597 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build openbsd && 386
--// +build openbsd,386
- 
- package unix
- 
-@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fcntl(fd int, cmd int, arg int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_fcntl_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
- 	r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
- 	n = int(r0)
-@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_getfsstat_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2229,3 +2269,33 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- var libc_utimensat_trampoline_addr uintptr
- 
- //go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pledge(promises *byte, execpromises *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_pledge_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func unveil(path *byte, flags *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_unveil_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-+
-+
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
-index 3dcacd30d..41b561731 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
-@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_sysctl_trampoline_addr(SB), RODATA, $4
- DATA	·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB)
- 
-+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+GLOBL	·libc_fcntl_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB)
-+
- TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_ppoll(SB)
- GLOBL	·libc_ppoll_trampoline_addr(SB), RODATA, $4
-@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_munmap_trampoline_addr(SB), RODATA, $4
- DATA	·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB)
- 
-+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+GLOBL	·libc_getfsstat_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_getfsstat_trampoline_addr(SB)/4, $libc_getfsstat_trampoline<>(SB)
-+
- TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_utimensat(SB)
- GLOBL	·libc_utimensat_trampoline_addr(SB), RODATA, $4
- DATA	·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB)
-+
-+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_pledge(SB)
-+GLOBL	·libc_pledge_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_pledge_trampoline_addr(SB)/4, $libc_pledge_trampoline<>(SB)
-+
-+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_unveil(SB)
-+GLOBL	·libc_unveil_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_unveil_trampoline_addr(SB)/4, $libc_unveil_trampoline<>(SB)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
-index c5c4cc112..5b2a74097 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build openbsd && amd64
--// +build openbsd,amd64
- 
- package unix
- 
-@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fcntl(fd int, cmd int, arg int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_fcntl_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
- 	r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
- 	n = int(r0)
-@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_getfsstat_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2229,3 +2269,33 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- var libc_utimensat_trampoline_addr uintptr
- 
- //go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pledge(promises *byte, execpromises *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_pledge_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func unveil(path *byte, flags *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_unveil_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-+
-+
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
-index 2763620b0..4019a656f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
-@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_sysctl_trampoline_addr(SB), RODATA, $8
- DATA	·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
- 
-+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+GLOBL	·libc_fcntl_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
-+
- TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_ppoll(SB)
- GLOBL	·libc_ppoll_trampoline_addr(SB), RODATA, $8
-@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_munmap_trampoline_addr(SB), RODATA, $8
- DATA	·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
- 
-+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+GLOBL	·libc_getfsstat_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
-+
- TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_utimensat(SB)
- GLOBL	·libc_utimensat_trampoline_addr(SB), RODATA, $8
- DATA	·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
-+
-+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_pledge(SB)
-+GLOBL	·libc_pledge_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
-+
-+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_unveil(SB)
-+GLOBL	·libc_unveil_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
-index 93bfbb328..f6eda1344 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build openbsd && arm
--// +build openbsd,arm
- 
- package unix
- 
-@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fcntl(fd int, cmd int, arg int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_fcntl_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
- 	r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
- 	n = int(r0)
-@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_getfsstat_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2229,3 +2269,33 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- var libc_utimensat_trampoline_addr uintptr
- 
- //go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pledge(promises *byte, execpromises *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_pledge_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func unveil(path *byte, flags *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_unveil_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-+
-+
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
-index c92231404..ac4af24f9 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
-@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_sysctl_trampoline_addr(SB), RODATA, $4
- DATA	·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB)
- 
-+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+GLOBL	·libc_fcntl_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB)
-+
- TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_ppoll(SB)
- GLOBL	·libc_ppoll_trampoline_addr(SB), RODATA, $4
-@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_munmap_trampoline_addr(SB), RODATA, $4
- DATA	·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB)
- 
-+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+GLOBL	·libc_getfsstat_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_getfsstat_trampoline_addr(SB)/4, $libc_getfsstat_trampoline<>(SB)
-+
- TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_utimensat(SB)
- GLOBL	·libc_utimensat_trampoline_addr(SB), RODATA, $4
- DATA	·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB)
-+
-+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_pledge(SB)
-+GLOBL	·libc_pledge_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_pledge_trampoline_addr(SB)/4, $libc_pledge_trampoline<>(SB)
-+
-+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_unveil(SB)
-+GLOBL	·libc_unveil_trampoline_addr(SB), RODATA, $4
-+DATA	·libc_unveil_trampoline_addr(SB)/4, $libc_unveil_trampoline<>(SB)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
-index a107b8fda..55df20ae9 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build openbsd && arm64
--// +build openbsd,arm64
- 
- package unix
- 
-@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fcntl(fd int, cmd int, arg int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_fcntl_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
- 	r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
- 	n = int(r0)
-@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_getfsstat_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2229,3 +2269,33 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- var libc_utimensat_trampoline_addr uintptr
- 
- //go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pledge(promises *byte, execpromises *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_pledge_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func unveil(path *byte, flags *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_unveil_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-+
-+
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
-index a6bc32c92..f77d53212 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
-@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_sysctl_trampoline_addr(SB), RODATA, $8
- DATA	·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
- 
-+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+GLOBL	·libc_fcntl_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
-+
- TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_ppoll(SB)
- GLOBL	·libc_ppoll_trampoline_addr(SB), RODATA, $8
-@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_munmap_trampoline_addr(SB), RODATA, $8
- DATA	·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
- 
-+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+GLOBL	·libc_getfsstat_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
-+
- TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_utimensat(SB)
- GLOBL	·libc_utimensat_trampoline_addr(SB), RODATA, $8
- DATA	·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
-+
-+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_pledge(SB)
-+GLOBL	·libc_pledge_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
-+
-+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_unveil(SB)
-+GLOBL	·libc_unveil_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
-index c427de509..8c1155cbc 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build openbsd && mips64
--// +build openbsd,mips64
- 
- package unix
- 
-@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fcntl(fd int, cmd int, arg int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_fcntl_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
- 	r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
- 	n = int(r0)
-@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_getfsstat_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2229,3 +2269,33 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- var libc_utimensat_trampoline_addr uintptr
- 
- //go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pledge(promises *byte, execpromises *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_pledge_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func unveil(path *byte, flags *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_unveil_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-+
-+
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
-index b4e7bceab..fae140b62 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
-@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_sysctl_trampoline_addr(SB), RODATA, $8
- DATA	·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
- 
-+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+GLOBL	·libc_fcntl_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
-+
- TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_ppoll(SB)
- GLOBL	·libc_ppoll_trampoline_addr(SB), RODATA, $8
-@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_munmap_trampoline_addr(SB), RODATA, $8
- DATA	·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
- 
-+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+GLOBL	·libc_getfsstat_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
-+
- TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_utimensat(SB)
- GLOBL	·libc_utimensat_trampoline_addr(SB), RODATA, $8
- DATA	·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
-+
-+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_pledge(SB)
-+GLOBL	·libc_pledge_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
-+
-+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_unveil(SB)
-+GLOBL	·libc_unveil_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
-index 60c1a99ae..7cc80c58d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build openbsd && ppc64
--// +build openbsd,ppc64
- 
- package unix
- 
-@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fcntl(fd int, cmd int, arg int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_fcntl_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
- 	r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
- 	n = int(r0)
-@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_getfsstat_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2229,3 +2269,33 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- var libc_utimensat_trampoline_addr uintptr
- 
- //go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pledge(promises *byte, execpromises *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_pledge_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func unveil(path *byte, flags *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_unveil_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-+
-+
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
-index ca3f76600..9d1e0ff06 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
-@@ -213,6 +213,12 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_sysctl_trampoline_addr(SB), RODATA, $8
- DATA	·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
- 
-+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
-+	CALL	libc_fcntl(SB)
-+	RET
-+GLOBL	·libc_fcntl_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
-+
- TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
- 	CALL	libc_ppoll(SB)
- 	RET
-@@ -801,8 +807,26 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_munmap_trampoline_addr(SB), RODATA, $8
- DATA	·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
- 
-+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
-+	CALL	libc_getfsstat(SB)
-+	RET
-+GLOBL	·libc_getfsstat_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
-+
- TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
- 	CALL	libc_utimensat(SB)
- 	RET
- GLOBL	·libc_utimensat_trampoline_addr(SB), RODATA, $8
- DATA	·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
-+
-+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
-+	CALL	libc_pledge(SB)
-+	RET
-+GLOBL	·libc_pledge_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
-+
-+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
-+	CALL	libc_unveil(SB)
-+	RET
-+GLOBL	·libc_unveil_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
-index 52eba360f..0688737f4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build openbsd && riscv64
--// +build openbsd,riscv64
- 
- package unix
- 
-@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fcntl(fd int, cmd int, arg int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_fcntl_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
- 	r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
- 	n = int(r0)
-@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_getfsstat_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2229,3 +2269,33 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- var libc_utimensat_trampoline_addr uintptr
- 
- //go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pledge(promises *byte, execpromises *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_pledge_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func unveil(path *byte, flags *byte) (err error) {
-+	_, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+var libc_unveil_trampoline_addr uintptr
-+
-+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-+
-+
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
-index 477a7d5b2..da115f9a4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
-@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_sysctl_trampoline_addr(SB), RODATA, $8
- DATA	·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
- 
-+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+GLOBL	·libc_fcntl_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
-+
- TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_ppoll(SB)
- GLOBL	·libc_ppoll_trampoline_addr(SB), RODATA, $8
-@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
- GLOBL	·libc_munmap_trampoline_addr(SB), RODATA, $8
- DATA	·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
- 
-+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+GLOBL	·libc_getfsstat_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
-+
- TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
- 	JMP	libc_utimensat(SB)
- GLOBL	·libc_utimensat_trampoline_addr(SB), RODATA, $8
- DATA	·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
-+
-+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_pledge(SB)
-+GLOBL	·libc_pledge_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
-+
-+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
-+	JMP	libc_unveil(SB)
-+GLOBL	·libc_unveil_trampoline_addr(SB), RODATA, $8
-+DATA	·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
-index b40189464..829b87feb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build solaris && amd64
--// +build solaris,amd64
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
-index 1d8fe1d4b..94f011238 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
-index 55e048471..3a58ae819 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build 386 && openbsd
--// +build 386,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
-index d2243cf83..dcb7a0eb7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build amd64 && openbsd
--// +build amd64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
-index 82dc51bd8..db5a7bf13 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build arm && openbsd
--// +build arm,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
-index cbdda1a4a..7be575a77 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build arm64 && openbsd
--// +build arm64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go
-index f55eae1a8..d6e3174c6 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build mips64 && openbsd
--// +build mips64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go
-index e44054470..ee97157d0 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build ppc64 && openbsd
--// +build ppc64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go
-index a0db82fce..35c3b91d0 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build riscv64 && openbsd
--// +build riscv64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
-index f8298ff9b..5edda7687 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && darwin
--// +build amd64,darwin
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
-index 5eb433bbf..0dc9e8b4d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && darwin
--// +build arm64,darwin
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
-index 703675c0c..308ddf3a1 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && dragonfly
--// +build amd64,dragonfly
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
-index 4e0d96107..418664e3d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && freebsd
--// +build 386,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
-index 01636b838..34d0b86d7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && freebsd
--// +build amd64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
-index ad99bc106..b71cf45e2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && freebsd
--// +build arm,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
-index 89dcc4274..e32df1c1e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && freebsd
--// +build arm64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go
-index ee37aaa0c..15ad6111f 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && freebsd
--// +build riscv64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
-index 9862853d3..fcf3ecbdd 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && linux
--// +build 386,linux
- 
- package unix
- 
-@@ -448,4 +447,5 @@ const (
- 	SYS_FUTEX_WAITV                  = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE      = 450
- 	SYS_CACHESTAT                    = 451
-+	SYS_FCHMODAT2                    = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
-index 8901f0f4e..f56dc2504 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && linux
--// +build amd64,linux
- 
- package unix
- 
-@@ -370,4 +369,6 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
-+	SYS_MAP_SHADOW_STACK        = 453
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
-index 6902c37ee..974bf2467 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && linux
--// +build arm,linux
- 
- package unix
- 
-@@ -412,4 +411,5 @@ const (
- 	SYS_FUTEX_WAITV                  = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE      = 450
- 	SYS_CACHESTAT                    = 451
-+	SYS_FCHMODAT2                    = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-index a6d3dff81..39a2739e2 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && linux
--// +build arm64,linux
- 
- package unix
- 
-@@ -315,4 +314,5 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
-index b18f3f710..cf9c9d77e 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build loong64 && linux
--// +build loong64,linux
- 
- package unix
- 
-@@ -309,4 +308,5 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
-index 0302e5e3d..10b7362ef 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips && linux
--// +build mips,linux
- 
- package unix
- 
-@@ -432,4 +431,5 @@ const (
- 	SYS_FUTEX_WAITV                  = 4449
- 	SYS_SET_MEMPOLICY_HOME_NODE      = 4450
- 	SYS_CACHESTAT                    = 4451
-+	SYS_FCHMODAT2                    = 4452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
-index 6693ba4a0..cd4d8b4fd 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64 && linux
--// +build mips64,linux
- 
- package unix
- 
-@@ -362,4 +361,5 @@ const (
- 	SYS_FUTEX_WAITV             = 5449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 5450
- 	SYS_CACHESTAT               = 5451
-+	SYS_FCHMODAT2               = 5452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
-index fd93f4987..2c0efca81 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64le && linux
--// +build mips64le,linux
- 
- package unix
- 
-@@ -362,4 +361,5 @@ const (
- 	SYS_FUTEX_WAITV             = 5449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 5450
- 	SYS_CACHESTAT               = 5451
-+	SYS_FCHMODAT2               = 5452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
-index 760ddcadc..a72e31d39 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mipsle && linux
--// +build mipsle,linux
- 
- package unix
- 
-@@ -432,4 +431,5 @@ const (
- 	SYS_FUTEX_WAITV                  = 4449
- 	SYS_SET_MEMPOLICY_HOME_NODE      = 4450
- 	SYS_CACHESTAT                    = 4451
-+	SYS_FCHMODAT2                    = 4452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
-index cff2b2555..c7d1e3747 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc && linux
--// +build ppc,linux
- 
- package unix
- 
-@@ -439,4 +438,5 @@ const (
- 	SYS_FUTEX_WAITV                  = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE      = 450
- 	SYS_CACHESTAT                    = 451
-+	SYS_FCHMODAT2                    = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
-index a4b2405d0..f4d4838c8 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && linux
--// +build ppc64,linux
- 
- package unix
- 
-@@ -411,4 +410,5 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
-index aca54b4e3..b64f0e591 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64le && linux
--// +build ppc64le,linux
- 
- package unix
- 
-@@ -411,4 +410,5 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
-index 9d1738d64..95711195a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && linux
--// +build riscv64,linux
- 
- package unix
- 
-@@ -316,4 +315,5 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
-index 022878dc8..f94e943bc 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build s390x && linux
--// +build s390x,linux
- 
- package unix
- 
-@@ -377,4 +376,5 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
-index 4100a761c..ba0c2bc51 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build sparc64 && linux
--// +build sparc64,linux
- 
- package unix
- 
-@@ -390,4 +389,5 @@ const (
- 	SYS_FUTEX_WAITV             = 449
- 	SYS_SET_MEMPOLICY_HOME_NODE = 450
- 	SYS_CACHESTAT               = 451
-+	SYS_FCHMODAT2               = 452
- )
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-index 3a6699eba..b2aa8cd49 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && netbsd
--// +build 386,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
-index 5677cd4f1..524a1b1c9 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && netbsd
--// +build amd64,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
-index e784cb6db..d59b943ac 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && netbsd
--// +build arm,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
-index bd4952efa..31e771d53 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; DO NOT EDIT.
- 
- //go:build arm64 && netbsd
--// +build arm64,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
-index 597733813..9fd77c6cb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && openbsd
--// +build 386,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
-index 16af29189..af10af28c 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && openbsd
--// +build amd64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-index f59b18a97..cc2028af4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && openbsd
--// +build arm,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
-index 721ef5910..c06dd4415 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && openbsd
--// +build arm64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go
-index 01c43a01f..9ddbf3e08 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64 && openbsd
--// +build mips64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go
-index f258cfa24..19a6ee413 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && openbsd
--// +build ppc64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go
-index 07919e0ec..05192a782 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && openbsd
--// +build riscv64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
-index 073daad43..b2e308581 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
-index 7a8161c1d..3e6d57cae 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc && aix
--// +build ppc,aix
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
-index 07ed733c5..3a219bdce 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && aix
--// +build ppc64,aix
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
-index 690cefc3d..091d107f3 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && darwin
--// +build amd64,darwin
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
-index 5bffc10ea..28ff4ef74 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && darwin
--// +build arm64,darwin
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
-index d0ba8e9b8..30e405bb4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && dragonfly
--// +build amd64,dragonfly
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
-index 29dc48337..6cbd094a3 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && freebsd
--// +build 386,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-index 0a89b2890..7c03b6ee7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && freebsd
--// +build amd64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
-index c8666bb15..422107ee8 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && freebsd
--// +build arm,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
-index 88fb48a88..505a12acf 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && freebsd
--// +build arm64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
-index 698dc975e..cc986c790 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && freebsd
--// +build riscv64,freebsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux.go
-index 18aa70b42..bbf8399ff 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux.go
-@@ -1,7 +1,6 @@
- // Code generated by mkmerge; DO NOT EDIT.
- 
- //go:build linux
--// +build linux
- 
- package unix
- 
-@@ -2672,6 +2671,7 @@ const (
- 	BPF_PROG_TYPE_LSM                          = 0x1d
- 	BPF_PROG_TYPE_SK_LOOKUP                    = 0x1e
- 	BPF_PROG_TYPE_SYSCALL                      = 0x1f
-+	BPF_PROG_TYPE_NETFILTER                    = 0x20
- 	BPF_CGROUP_INET_INGRESS                    = 0x0
- 	BPF_CGROUP_INET_EGRESS                     = 0x1
- 	BPF_CGROUP_INET_SOCK_CREATE                = 0x2
-@@ -2716,6 +2716,11 @@ const (
- 	BPF_PERF_EVENT                             = 0x29
- 	BPF_TRACE_KPROBE_MULTI                     = 0x2a
- 	BPF_LSM_CGROUP                             = 0x2b
-+	BPF_STRUCT_OPS                             = 0x2c
-+	BPF_NETFILTER                              = 0x2d
-+	BPF_TCX_INGRESS                            = 0x2e
-+	BPF_TCX_EGRESS                             = 0x2f
-+	BPF_TRACE_UPROBE_MULTI                     = 0x30
- 	BPF_LINK_TYPE_UNSPEC                       = 0x0
- 	BPF_LINK_TYPE_RAW_TRACEPOINT               = 0x1
- 	BPF_LINK_TYPE_TRACING                      = 0x2
-@@ -2726,6 +2731,18 @@ const (
- 	BPF_LINK_TYPE_PERF_EVENT                   = 0x7
- 	BPF_LINK_TYPE_KPROBE_MULTI                 = 0x8
- 	BPF_LINK_TYPE_STRUCT_OPS                   = 0x9
-+	BPF_LINK_TYPE_NETFILTER                    = 0xa
-+	BPF_LINK_TYPE_TCX                          = 0xb
-+	BPF_LINK_TYPE_UPROBE_MULTI                 = 0xc
-+	BPF_PERF_EVENT_UNSPEC                      = 0x0
-+	BPF_PERF_EVENT_UPROBE                      = 0x1
-+	BPF_PERF_EVENT_URETPROBE                   = 0x2
-+	BPF_PERF_EVENT_KPROBE                      = 0x3
-+	BPF_PERF_EVENT_KRETPROBE                   = 0x4
-+	BPF_PERF_EVENT_TRACEPOINT                  = 0x5
-+	BPF_PERF_EVENT_EVENT                       = 0x6
-+	BPF_F_KPROBE_MULTI_RETURN                  = 0x1
-+	BPF_F_UPROBE_MULTI_RETURN                  = 0x1
- 	BPF_ANY                                    = 0x0
- 	BPF_NOEXIST                                = 0x1
- 	BPF_EXIST                                  = 0x2
-@@ -2743,6 +2760,8 @@ const (
- 	BPF_F_MMAPABLE                             = 0x400
- 	BPF_F_PRESERVE_ELEMS                       = 0x800
- 	BPF_F_INNER_MAP                            = 0x1000
-+	BPF_F_LINK                                 = 0x2000
-+	BPF_F_PATH_FD                              = 0x4000
- 	BPF_STATS_RUN_TIME                         = 0x0
- 	BPF_STACK_BUILD_ID_EMPTY                   = 0x0
- 	BPF_STACK_BUILD_ID_VALID                   = 0x1
-@@ -2763,6 +2782,7 @@ const (
- 	BPF_F_ZERO_CSUM_TX                         = 0x2
- 	BPF_F_DONT_FRAGMENT                        = 0x4
- 	BPF_F_SEQ_NUMBER                           = 0x8
-+	BPF_F_NO_TUNNEL_KEY                        = 0x10
- 	BPF_F_TUNINFO_FLAGS                        = 0x10
- 	BPF_F_INDEX_MASK                           = 0xffffffff
- 	BPF_F_CURRENT_CPU                          = 0xffffffff
-@@ -2779,6 +2799,8 @@ const (
- 	BPF_F_ADJ_ROOM_ENCAP_L4_UDP                = 0x10
- 	BPF_F_ADJ_ROOM_NO_CSUM_RESET               = 0x20
- 	BPF_F_ADJ_ROOM_ENCAP_L2_ETH                = 0x40
-+	BPF_F_ADJ_ROOM_DECAP_L3_IPV4               = 0x80
-+	BPF_F_ADJ_ROOM_DECAP_L3_IPV6               = 0x100
- 	BPF_ADJ_ROOM_ENCAP_L2_MASK                 = 0xff
- 	BPF_ADJ_ROOM_ENCAP_L2_SHIFT                = 0x38
- 	BPF_F_SYSCTL_BASE_NAME                     = 0x1
-@@ -2867,6 +2889,8 @@ const (
- 	BPF_DEVCG_DEV_CHAR                         = 0x2
- 	BPF_FIB_LOOKUP_DIRECT                      = 0x1
- 	BPF_FIB_LOOKUP_OUTPUT                      = 0x2
-+	BPF_FIB_LOOKUP_SKIP_NEIGH                  = 0x4
-+	BPF_FIB_LOOKUP_TBID                        = 0x8
- 	BPF_FIB_LKUP_RET_SUCCESS                   = 0x0
- 	BPF_FIB_LKUP_RET_BLACKHOLE                 = 0x1
- 	BPF_FIB_LKUP_RET_UNREACHABLE               = 0x2
-@@ -2902,6 +2926,7 @@ const (
- 	BPF_CORE_ENUMVAL_EXISTS                    = 0xa
- 	BPF_CORE_ENUMVAL_VALUE                     = 0xb
- 	BPF_CORE_TYPE_MATCHES                      = 0xc
-+	BPF_F_TIMER_ABS                            = 0x1
- )
- 
- const (
-@@ -2980,6 +3005,12 @@ type LoopInfo64 struct {
- 	Encrypt_key      [32]uint8
- 	Init             [2]uint64
- }
-+type LoopConfig struct {
-+	Fd   uint32
-+	Size uint32
-+	Info LoopInfo64
-+	_    [8]uint64
-+}
- 
- type TIPCSocketAddr struct {
- 	Ref  uint32
-@@ -5883,3 +5914,15 @@ type SchedAttr struct {
- }
- 
- const SizeofSchedAttr = 0x38
-+
-+type Cachestat_t struct {
-+	Cache            uint64
-+	Dirty            uint64
-+	Writeback        uint64
-+	Evicted          uint64
-+	Recently_evicted uint64
-+}
-+type CachestatRange struct {
-+	Off uint64
-+	Len uint64
-+}
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
-index 6d8acbcc5..438a30aff 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && linux
--// +build 386,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
-index 59293c688..adceca355 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && linux
--// +build amd64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
-index 40cfa38c2..eeaa00a37 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && linux
--// +build arm,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
-index 055bc4216..6739aa91d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && linux
--// +build arm64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
-index f28affbc6..9920ef631 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build loong64 && linux
--// +build loong64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
-index 9d71e7ccd..2923b799a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips && linux
--// +build mips,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
-index fd5ccd332..ce2750ee4 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64 && linux
--// +build mips64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
-index 7704de77a..3038811d7 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64le && linux
--// +build mips64le,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
-index df00b8757..efc6fed18 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mipsle && linux
--// +build mipsle,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
-index 0942840db..9a654b75a 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc && linux
--// +build ppc,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
-index 034874395..40d358e33 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && linux
--// +build ppc64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
-index bad067047..148c6ceb8 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64le && linux
--// +build ppc64le,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
-index 1b4c97c32..72ba81543 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && linux
--// +build riscv64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
-index aa268d025..71e765508 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build s390x && linux
--// +build s390x,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
-index 444045b6c..4abbdb9de 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build sparc64 && linux
--// +build sparc64,linux
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
-index 9bc4c8f9d..f22e7947d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && netbsd
--// +build 386,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-index bb05f655d..066a7d83d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && netbsd
--// +build amd64,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
-index db40e3a19..439548ec9 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && netbsd
--// +build arm,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
-index 11121151c..16085d3bb 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && netbsd
--// +build arm64,netbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
-index 26eba23b7..afd13a3af 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build 386 && openbsd
--// +build 386,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-index 5a5479886..5d97f1f9b 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && openbsd
--// +build amd64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
-index be58c4e1f..34871cdc1 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm && openbsd
--// +build arm,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
-index 52338266c..5911bceb3 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build arm64 && openbsd
--// +build arm64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
-index 605cfdb12..e4f24f3bc 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build mips64 && openbsd
--// +build mips64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go
-index d6724c010..ca50a7930 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build ppc64 && openbsd
--// +build ppc64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go
-index ddfd27a43..d7d7f7902 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build riscv64 && openbsd
--// +build riscv64,openbsd
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
-index 0400747c6..14160576d 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
-@@ -2,7 +2,6 @@
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- //go:build amd64 && solaris
--// +build amd64,solaris
- 
- package unix
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go b/go-controller/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
-index aec1efcb3..54f31be63 100644
---- a/go-controller/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
-+++ b/go-controller/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build zos && s390x
--// +build zos,s390x
- 
- // Hand edited based on ztypes_linux_s390x.go
- // TODO: auto-generate.
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/aliases.go b/go-controller/vendor/golang.org/x/sys/windows/aliases.go
-index a20ebea63..ce2d713d6 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/aliases.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/aliases.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows && go1.9
--// +build windows,go1.9
- 
- package windows
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/empty.s b/go-controller/vendor/golang.org/x/sys/windows/empty.s
-index fdbbbcd31..ba64caca5 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/empty.s
-+++ b/go-controller/vendor/golang.org/x/sys/windows/empty.s
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build !go1.12
--// +build !go1.12
- 
- // This file is here to allow bodyless functions with go:linkname for Go 1.11
- // and earlier (see https://golang.org/issue/23311).
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/eventlog.go b/go-controller/vendor/golang.org/x/sys/windows/eventlog.go
-index 2cd60645e..6c366955d 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/eventlog.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/eventlog.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- package windows
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/mksyscall.go b/go-controller/vendor/golang.org/x/sys/windows/mksyscall.go
-index 8563f79c5..dbcdb090c 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/mksyscall.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/mksyscall.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build generate
--// +build generate
- 
- package windows
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/race.go b/go-controller/vendor/golang.org/x/sys/windows/race.go
-index 9196b089c..0f1bdc386 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/race.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/race.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows && race
--// +build windows,race
- 
- package windows
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/race0.go b/go-controller/vendor/golang.org/x/sys/windows/race0.go
-index 7bae4817a..0c78da78b 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/race0.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/race0.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows && !race
--// +build windows,!race
- 
- package windows
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/registry/key.go b/go-controller/vendor/golang.org/x/sys/windows/registry/key.go
-index 6c8d97b6a..fd8632444 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/registry/key.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/registry/key.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- // Package registry provides access to the Windows registry.
- //
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/registry/mksyscall.go b/go-controller/vendor/golang.org/x/sys/windows/registry/mksyscall.go
-index ee74927d3..bbf86ccf0 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/registry/mksyscall.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/registry/mksyscall.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build generate
--// +build generate
- 
- package registry
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/registry/syscall.go b/go-controller/vendor/golang.org/x/sys/windows/registry/syscall.go
-index 417335123..f533091c1 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/registry/syscall.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/registry/syscall.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- package registry
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/registry/value.go b/go-controller/vendor/golang.org/x/sys/windows/registry/value.go
-index 2789f6f18..74db26b94 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/registry/value.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/registry/value.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- package registry
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/service.go b/go-controller/vendor/golang.org/x/sys/windows/service.go
-index c44a1b963..a9dc6308d 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/service.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/service.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- package windows
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/str.go b/go-controller/vendor/golang.org/x/sys/windows/str.go
-index 4fc01434e..6a4f9ce6a 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/str.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/str.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- package windows
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/svc/security.go b/go-controller/vendor/golang.org/x/sys/windows/svc/security.go
-index 1c51006ea..6a1f3c627 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/svc/security.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/svc/security.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- package svc
- 
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/svc/service.go b/go-controller/vendor/golang.org/x/sys/windows/svc/service.go
-index e9e47f0b4..c96932d96 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/svc/service.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/svc/service.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- // Package svc provides everything required to build Windows service.
- package svc
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/syscall.go b/go-controller/vendor/golang.org/x/sys/windows/syscall.go
-index 8732cdb95..e85ed6b9c 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/syscall.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/syscall.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build windows
--// +build windows
- 
- // Package windows contains an interface to the low-level operating system
- // primitives. OS details vary depending on the underlying system, and
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/syscall_windows.go b/go-controller/vendor/golang.org/x/sys/windows/syscall_windows.go
-index 35cfc57ca..47dc57967 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/syscall_windows.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/syscall_windows.go
-@@ -155,6 +155,8 @@ func NewCallbackCDecl(fn interface{}) uintptr {
- //sys	GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW
- //sys	GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW
- //sys	SetDefaultDllDirectories(directoryFlags uint32) (err error)
-+//sys	AddDllDirectory(path *uint16) (cookie uintptr, err error) = kernel32.AddDllDirectory
-+//sys	RemoveDllDirectory(cookie uintptr) (err error) = kernel32.RemoveDllDirectory
- //sys	SetDllDirectory(path string) (err error) = kernel32.SetDllDirectoryW
- //sys	GetVersion() (ver uint32, err error)
- //sys	FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW
-@@ -233,6 +235,7 @@ func NewCallbackCDecl(fn interface{}) uintptr {
- //sys	CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock
- //sys	DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock
- //sys	getTickCount64() (ms uint64) = kernel32.GetTickCount64
-+//sys   GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error)
- //sys	SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error)
- //sys	GetFileAttributes(name *uint16) (attrs uint32, err error) [failretval==INVALID_FILE_ATTRIBUTES] = kernel32.GetFileAttributesW
- //sys	SetFileAttributes(name *uint16, attrs uint32) (err error) = kernel32.SetFileAttributesW
-@@ -969,7 +972,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) {
- 	if n > 0 {
- 		sl += int32(n) + 1
- 	}
--	if sa.raw.Path[0] == '@' {
-+	if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
-+		// Check sl > 3 so we don't change unnamed socket behavior.
- 		sa.raw.Path[0] = 0
- 		// Don't count trailing NUL for abstract address.
- 		sl--
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/types_windows.go b/go-controller/vendor/golang.org/x/sys/windows/types_windows.go
-index b88dc7c85..359780f6a 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/types_windows.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/types_windows.go
-@@ -1094,7 +1094,33 @@ const (
- 
- 	SOMAXCONN = 0x7fffffff
- 
--	TCP_NODELAY = 1
-+	TCP_NODELAY                    = 1
-+	TCP_EXPEDITED_1122             = 2
-+	TCP_KEEPALIVE                  = 3
-+	TCP_MAXSEG                     = 4
-+	TCP_MAXRT                      = 5
-+	TCP_STDURG                     = 6
-+	TCP_NOURG                      = 7
-+	TCP_ATMARK                     = 8
-+	TCP_NOSYNRETRIES               = 9
-+	TCP_TIMESTAMPS                 = 10
-+	TCP_OFFLOAD_PREFERENCE         = 11
-+	TCP_CONGESTION_ALGORITHM       = 12
-+	TCP_DELAY_FIN_ACK              = 13
-+	TCP_MAXRTMS                    = 14
-+	TCP_FASTOPEN                   = 15
-+	TCP_KEEPCNT                    = 16
-+	TCP_KEEPIDLE                   = TCP_KEEPALIVE
-+	TCP_KEEPINTVL                  = 17
-+	TCP_FAIL_CONNECT_ON_ICMP_ERROR = 18
-+	TCP_ICMP_ERROR_INFO            = 19
-+
-+	UDP_NOCHECKSUM              = 1
-+	UDP_SEND_MSG_SIZE           = 2
-+	UDP_RECV_MAX_COALESCED_SIZE = 3
-+	UDP_CHECKSUM_COVERAGE       = 20
-+
-+	UDP_COALESCED_INFO = 3
- 
- 	SHUT_RD   = 0
- 	SHUT_WR   = 1
-diff --git a/go-controller/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/go-controller/vendor/golang.org/x/sys/windows/zsyscall_windows.go
-index 8b1688de4..146a1f019 100644
---- a/go-controller/vendor/golang.org/x/sys/windows/zsyscall_windows.go
-+++ b/go-controller/vendor/golang.org/x/sys/windows/zsyscall_windows.go
-@@ -184,6 +184,7 @@ var (
- 	procGetAdaptersInfo                                      = modiphlpapi.NewProc("GetAdaptersInfo")
- 	procGetBestInterfaceEx                                   = modiphlpapi.NewProc("GetBestInterfaceEx")
- 	procGetIfEntry                                           = modiphlpapi.NewProc("GetIfEntry")
-+	procAddDllDirectory                                      = modkernel32.NewProc("AddDllDirectory")
- 	procAssignProcessToJobObject                             = modkernel32.NewProc("AssignProcessToJobObject")
- 	procCancelIo                                             = modkernel32.NewProc("CancelIo")
- 	procCancelIoEx                                           = modkernel32.NewProc("CancelIoEx")
-@@ -253,6 +254,7 @@ var (
- 	procGetFileAttributesW                                   = modkernel32.NewProc("GetFileAttributesW")
- 	procGetFileInformationByHandle                           = modkernel32.NewProc("GetFileInformationByHandle")
- 	procGetFileInformationByHandleEx                         = modkernel32.NewProc("GetFileInformationByHandleEx")
-+	procGetFileTime                                          = modkernel32.NewProc("GetFileTime")
- 	procGetFileType                                          = modkernel32.NewProc("GetFileType")
- 	procGetFinalPathNameByHandleW                            = modkernel32.NewProc("GetFinalPathNameByHandleW")
- 	procGetFullPathNameW                                     = modkernel32.NewProc("GetFullPathNameW")
-@@ -329,6 +331,7 @@ var (
- 	procReadProcessMemory                                    = modkernel32.NewProc("ReadProcessMemory")
- 	procReleaseMutex                                         = modkernel32.NewProc("ReleaseMutex")
- 	procRemoveDirectoryW                                     = modkernel32.NewProc("RemoveDirectoryW")
-+	procRemoveDllDirectory                                   = modkernel32.NewProc("RemoveDllDirectory")
- 	procResetEvent                                           = modkernel32.NewProc("ResetEvent")
- 	procResizePseudoConsole                                  = modkernel32.NewProc("ResizePseudoConsole")
- 	procResumeThread                                         = modkernel32.NewProc("ResumeThread")
-@@ -1604,6 +1607,15 @@ func GetIfEntry(pIfRow *MibIfRow) (errcode error) {
- 	return
- }
- 
-+func AddDllDirectory(path *uint16) (cookie uintptr, err error) {
-+	r0, _, e1 := syscall.Syscall(procAddDllDirectory.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
-+	cookie = uintptr(r0)
-+	if cookie == 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
- func AssignProcessToJobObject(job Handle, process Handle) (err error) {
- 	r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0)
- 	if r1 == 0 {
-@@ -2185,6 +2197,14 @@ func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte,
- 	return
- }
- 
-+func GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) {
-+	r1, _, e1 := syscall.Syscall6(procGetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0)
-+	if r1 == 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
- func GetFileType(filehandle Handle) (n uint32, err error) {
- 	r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0)
- 	n = uint32(r0)
-@@ -2870,6 +2890,14 @@ func RemoveDirectory(path *uint16) (err error) {
- 	return
- }
- 
-+func RemoveDllDirectory(cookie uintptr) (err error) {
-+	r1, _, e1 := syscall.Syscall(procRemoveDllDirectory.Addr(), 1, uintptr(cookie), 0, 0)
-+	if r1 == 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
- func ResetEvent(event Handle) (err error) {
- 	r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0)
- 	if r1 == 0 {
-diff --git a/go-controller/vendor/golang.org/x/term/term_unix.go b/go-controller/vendor/golang.org/x/term/term_unix.go
-index 62c2b3f41..1ad0ddfe3 100644
---- a/go-controller/vendor/golang.org/x/term/term_unix.go
-+++ b/go-controller/vendor/golang.org/x/term/term_unix.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
--// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
- 
- package term
- 
-diff --git a/go-controller/vendor/golang.org/x/term/term_unix_bsd.go b/go-controller/vendor/golang.org/x/term/term_unix_bsd.go
-index 853b3d698..9dbf54629 100644
---- a/go-controller/vendor/golang.org/x/term/term_unix_bsd.go
-+++ b/go-controller/vendor/golang.org/x/term/term_unix_bsd.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build darwin || dragonfly || freebsd || netbsd || openbsd
--// +build darwin dragonfly freebsd netbsd openbsd
- 
- package term
- 
-diff --git a/go-controller/vendor/golang.org/x/term/term_unix_other.go b/go-controller/vendor/golang.org/x/term/term_unix_other.go
-index 1e8955c93..1b36de799 100644
---- a/go-controller/vendor/golang.org/x/term/term_unix_other.go
-+++ b/go-controller/vendor/golang.org/x/term/term_unix_other.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build aix || linux || solaris || zos
--// +build aix linux solaris zos
- 
- package term
- 
-diff --git a/go-controller/vendor/golang.org/x/term/term_unsupported.go b/go-controller/vendor/golang.org/x/term/term_unsupported.go
-index f1df85065..3c409e588 100644
---- a/go-controller/vendor/golang.org/x/term/term_unsupported.go
-+++ b/go-controller/vendor/golang.org/x/term/term_unsupported.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !zos && !windows && !solaris && !plan9
--// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!zos,!windows,!solaris,!plan9
- 
- package term
- 
-diff --git a/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go b/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go
-index 8a7392c4a..784bb8808 100644
---- a/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build go1.10
--// +build go1.10
- 
- package bidirule
- 
-diff --git a/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go b/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go
-index bb0a92001..8e1e94395 100644
---- a/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go
-@@ -3,7 +3,6 @@
- // license that can be found in the LICENSE file.
- 
- //go:build !go1.10
--// +build !go1.10
- 
- package bidirule
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go
-index 42fa8d72c..d2bd71181 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.10 && !go1.13
--// +build go1.10,!go1.13
- 
- package bidi
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
-index 56a0e1ea2..f76bdca27 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.13 && !go1.14
--// +build go1.13,!go1.14
- 
- package bidi
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
-index baacf32b4..3aa2c3bdf 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.14 && !go1.16
--// +build go1.14,!go1.16
- 
- package bidi
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go
-index ffadb7beb..a71375790 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.16 && !go1.21
--// +build go1.16,!go1.21
- 
- package bidi
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go
-index 92cce5802..f15746f7d 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.21
--// +build go1.21
- 
- package bidi
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go
-index f517fdb20..c164d3791 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build !go1.10
--// +build !go1.10
- 
- package bidi
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
-index f5a078827..1af161c75 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.10 && !go1.13
--// +build go1.10,!go1.13
- 
- package norm
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
-index cb7239c43..eb73ecc37 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.13 && !go1.14
--// +build go1.13,!go1.14
- 
- package norm
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
-index 11b273300..276cb8d8c 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.14 && !go1.16
--// +build go1.14,!go1.16
- 
- package norm
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
-index f65785e8a..0cceffd73 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.16 && !go1.21
--// +build go1.16,!go1.21
- 
- package norm
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
-index e1858b879..b0819e42d 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build go1.21
--// +build go1.21
- 
- package norm
- 
-diff --git a/go-controller/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go b/go-controller/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
-index 0175eae50..bf65457d9 100644
---- a/go-controller/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
-+++ b/go-controller/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
-@@ -1,7 +1,6 @@
- // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
- 
- //go:build !go1.10
--// +build !go1.10
- 
- package norm
- 
-diff --git a/go-controller/vendor/k8s.io/client-go/informers/factory.go b/go-controller/vendor/k8s.io/client-go/informers/factory.go
-index 9fc86441a..7dd0ae635 100644
---- a/go-controller/vendor/k8s.io/client-go/informers/factory.go
-+++ b/go-controller/vendor/k8s.io/client-go/informers/factory.go
-@@ -60,7 +60,6 @@ type sharedInformerFactory struct {
- 	lock             sync.Mutex
- 	defaultResync    time.Duration
- 	customResync     map[reflect.Type]time.Duration
--	transform        cache.TransformFunc
- 
- 	informers map[reflect.Type]cache.SharedIndexInformer
- 	// startedInformers is used for tracking which informers have been started.
-@@ -99,14 +98,6 @@ func WithNamespace(namespace string) SharedInformerOption {
- 	}
- }
- 
--// WithTransform sets a transform on all informers.
--func WithTransform(transform cache.TransformFunc) SharedInformerOption {
--	return func(factory *sharedInformerFactory) *sharedInformerFactory {
--		factory.transform = transform
--		return factory
--	}
--}
--
- // NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces.
- func NewSharedInformerFactory(client kubernetes.Interface, defaultResync time.Duration) SharedInformerFactory {
- 	return NewSharedInformerFactoryWithOptions(client, defaultResync)
-@@ -211,7 +202,6 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal
- 	}
- 
- 	informer = newFunc(f.client, resyncPeriod)
--	informer.SetTransform(f.transform)
- 	f.informers[informerType] = informer
- 
- 	return informer
-diff --git a/go-controller/vendor/modules.txt b/go-controller/vendor/modules.txt
-index c88f00fa8..a9683f0a0 100644
---- a/go-controller/vendor/modules.txt
-+++ b/go-controller/vendor/modules.txt
-@@ -385,8 +385,8 @@ go.opencensus.io/internal
- go.opencensus.io/trace
- go.opencensus.io/trace/internal
- go.opencensus.io/trace/tracestate
--# golang.org/x/crypto v0.14.0
--## explicit; go 1.17
-+# golang.org/x/crypto v0.17.0
-+## explicit; go 1.18
- golang.org/x/crypto/ed25519
- # golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb
- ## explicit; go 1.20
-@@ -420,19 +420,19 @@ golang.org/x/oauth2/internal
- # golang.org/x/sync v0.2.0
- ## explicit
- golang.org/x/sync/errgroup
--# golang.org/x/sys v0.13.0
--## explicit; go 1.17
-+# golang.org/x/sys v0.15.0
-+## explicit; go 1.18
- golang.org/x/sys/execabs
- golang.org/x/sys/plan9
- golang.org/x/sys/unix
- golang.org/x/sys/windows
- golang.org/x/sys/windows/registry
- golang.org/x/sys/windows/svc
--# golang.org/x/term v0.13.0
--## explicit; go 1.17
-+# golang.org/x/term v0.15.0
-+## explicit; go 1.18
- golang.org/x/term
--# golang.org/x/text v0.13.0
--## explicit; go 1.17
-+# golang.org/x/text v0.14.0
-+## explicit; go 1.18
- golang.org/x/text/encoding
- golang.org/x/text/encoding/charmap
- golang.org/x/text/encoding/htmlindex
--- 
-2.43.0
-
diff --git a/images/ovn/patches/ovn-kubernetes/0004-stop-creating-ovnkube-eps.patch b/images/ovn/patches/ovn-kubernetes/0003-stop-creating-ovnkube-eps.patch
similarity index 100%
rename from images/ovn/patches/ovn-kubernetes/0004-stop-creating-ovnkube-eps.patch
rename to images/ovn/patches/ovn-kubernetes/0003-stop-creating-ovnkube-eps.patch
