summaryrefslogtreecommitdiff
path: root/vendor/github.com/cilium/ebpf/internal/sys/syscall.go
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2025-02-03 10:12:35 +0000
committerLibravatar GitHub <noreply@github.com>2025-02-03 10:12:35 +0000
commitc086d4048c2a26a0bf70c1ced24c78680a786710 (patch)
treecf7606e8452e9047d7f0e0d9b6de10edf7ebdc89 /vendor/github.com/cilium/ebpf/internal/sys/syscall.go
parent[chore]: Bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 (#3725) (diff)
downloadgotosocial-c086d4048c2a26a0bf70c1ced24c78680a786710.tar.xz
[chore]: Bump github.com/KimMachineGun/automemlimit from 0.6.1 to 0.7.0 (#3726)
Bumps [github.com/KimMachineGun/automemlimit](https://github.com/KimMachineGun/automemlimit) from 0.6.1 to 0.7.0. - [Release notes](https://github.com/KimMachineGun/automemlimit/releases) - [Commits](https://github.com/KimMachineGun/automemlimit/compare/v0.6.1...v0.7.0) --- updated-dependencies: - dependency-name: github.com/KimMachineGun/automemlimit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/cilium/ebpf/internal/sys/syscall.go')
-rw-r--r--vendor/github.com/cilium/ebpf/internal/sys/syscall.go126
1 files changed, 0 insertions, 126 deletions
diff --git a/vendor/github.com/cilium/ebpf/internal/sys/syscall.go b/vendor/github.com/cilium/ebpf/internal/sys/syscall.go
deleted file mode 100644
index 2a5935dc9..000000000
--- a/vendor/github.com/cilium/ebpf/internal/sys/syscall.go
+++ /dev/null
@@ -1,126 +0,0 @@
-package sys
-
-import (
- "runtime"
- "syscall"
- "unsafe"
-
- "github.com/cilium/ebpf/internal/unix"
-)
-
-// BPF wraps SYS_BPF.
-//
-// Any pointers contained in attr must use the Pointer type from this package.
-func BPF(cmd Cmd, attr unsafe.Pointer, size uintptr) (uintptr, error) {
- for {
- r1, _, errNo := unix.Syscall(unix.SYS_BPF, uintptr(cmd), uintptr(attr), size)
- runtime.KeepAlive(attr)
-
- // As of ~4.20 the verifier can be interrupted by a signal,
- // and returns EAGAIN in that case.
- if errNo == unix.EAGAIN && cmd == BPF_PROG_LOAD {
- continue
- }
-
- var err error
- if errNo != 0 {
- err = wrappedErrno{errNo}
- }
-
- return r1, err
- }
-}
-
-// Info is implemented by all structs that can be passed to the ObjInfo syscall.
-//
-// MapInfo
-// ProgInfo
-// LinkInfo
-// BtfInfo
-type Info interface {
- info() (unsafe.Pointer, uint32)
-}
-
-var _ Info = (*MapInfo)(nil)
-
-func (i *MapInfo) info() (unsafe.Pointer, uint32) {
- return unsafe.Pointer(i), uint32(unsafe.Sizeof(*i))
-}
-
-var _ Info = (*ProgInfo)(nil)
-
-func (i *ProgInfo) info() (unsafe.Pointer, uint32) {
- return unsafe.Pointer(i), uint32(unsafe.Sizeof(*i))
-}
-
-var _ Info = (*LinkInfo)(nil)
-
-func (i *LinkInfo) info() (unsafe.Pointer, uint32) {
- return unsafe.Pointer(i), uint32(unsafe.Sizeof(*i))
-}
-
-var _ Info = (*BtfInfo)(nil)
-
-func (i *BtfInfo) info() (unsafe.Pointer, uint32) {
- return unsafe.Pointer(i), uint32(unsafe.Sizeof(*i))
-}
-
-// ObjInfo retrieves information about a BPF Fd.
-//
-// info may be one of MapInfo, ProgInfo, LinkInfo and BtfInfo.
-func ObjInfo(fd *FD, info Info) error {
- ptr, len := info.info()
- err := ObjGetInfoByFd(&ObjGetInfoByFdAttr{
- BpfFd: fd.Uint(),
- InfoLen: len,
- Info: NewPointer(ptr),
- })
- runtime.KeepAlive(fd)
- return err
-}
-
-// BPFObjName is a null-terminated string made up of
-// 'A-Za-z0-9_' characters.
-type ObjName [unix.BPF_OBJ_NAME_LEN]byte
-
-// NewObjName truncates the result if it is too long.
-func NewObjName(name string) ObjName {
- var result ObjName
- copy(result[:unix.BPF_OBJ_NAME_LEN-1], name)
- return result
-}
-
-// LinkID uniquely identifies a bpf_link.
-type LinkID uint32
-
-// BTFID uniquely identifies a BTF blob loaded into the kernel.
-type BTFID uint32
-
-// wrappedErrno wraps syscall.Errno to prevent direct comparisons with
-// syscall.E* or unix.E* constants.
-//
-// You should never export an error of this type.
-type wrappedErrno struct {
- syscall.Errno
-}
-
-func (we wrappedErrno) Unwrap() error {
- return we.Errno
-}
-
-type syscallError struct {
- error
- errno syscall.Errno
-}
-
-func Error(err error, errno syscall.Errno) error {
- return &syscallError{err, errno}
-}
-
-func (se *syscallError) Is(target error) bool {
- return target == se.error
-}
-
-func (se *syscallError) Unwrap() error {
- return se.errno
-}