fsm
fsm copied to clipboard
[backport] build(deps): Bump github.com/cilium/ebpf from 0.19.0 to 0.20.0 (#1171)
Bumps github.com/cilium/ebpf from 0.19.0 to 0.20.0.
Release notes
Sourced from github.com/cilium/ebpf's releases.
v0.20.0
Performance Improvements
- btf: Memory-map vmlinux BTF when possible instead of copying to heap (saves several megabytes)
- btf: Decode BTF from byte slices instead of io.Reader for better performance
- btf: Cache BTF during fixups and target search to avoid loading each blob multiple times
- linker: Resolve kernel symbols in a single pass instead of individually
- prog: Speed up opening pinned programs by using minimal program info
- map: Avoid allocations during PerCPUMap batch lookups (76% faster, 99% fewer allocations)
New Features
- btf: Added
LoadSplitSpecfunction for easier use of split-BTF files- btf: Accept empty string tables in BTF data
- link: Added
Detach()method for explicitly detaching links- map: Preliminary support for arena maps
- map: Parse and expose
map_extrafield in MapSpec (enables bloom filter configuration)- prog: Allow explicit ifindex specification when loading programs
- prog: Support getting context output from syscall programs
- prog: Allow passing extra targets for CO-RE relocations via
ExtraRelocationTargets- bpf2go: Allow multiple commands in BPF2GO_CC environment variable (e.g.,
ccache clang)- tracefs: Allow hyphens in tracepoint group names
- kallsyms: Return
ErrRestrictedKernelwhen reading zero addresses due tokernel.kptr_restrict- info: Return
ErrRestrictedKernelwhen program info is restricted by kernel security settings- prog: Tolerate
ErrRestrictedKernelduring ksym resolution unless ksyms are requiredBugfixes
- ringbuf: Fixed panic when reading after close
- btf: Fixed race condition when loading cached kernel/module specs
- ringbuf: Fixed 32-bit compatibility by using uintptr for positions
- memory: Set cleanup on
*Memoryinstead of**Memoryto fix resource leak- link: Fixed concurrent cleanup ordering for perf events and tracefs events
Windows Support Improvements
- ringbuf: Added Windows support for ring buffer operations
- windows: Fixed compatibility with recent eBPF for Windows changes (XDP_TEST removal, SAMPLE program type)
- windows: Enabled Hyper-V support in test VMs
- program: Added workaround for eBPF for Windows rejecting empty ContextOut
Breaking Changes
ProgramOptions.KernelModuleTypes removed
The
KernelModuleTypesfield inProgramOptionshas been removed. In 99% of cases this field should not be necessary anymore. Module BTF should be merged into the vmlinux BTF, as tools like btfhub do.For advanced use cases that still require passing additional BTF specs for CO-RE relocations, use the new
ExtraRelocationTargetsfield:Before:
... (truncated)
Commits
c64ffeestruct_ops: skip copy for zeroed nested structs and fail on non-zeroed843f326docs: document how to build parts of efW8f23ed6map, program: add StructOpsMap supporte6e4707ci: install sample_ebpf_ext to provide BPF_PROG_TYPE_SAMPLEe5c623fwindows: deal with removal of XDP_TEST from efWc41a50aprogram: work around efW rejecting an empty ContextOut9a014efkallsyms: return ErrRestrictedKernel when reading zero address1bfe0bcinfo: return ErrRestrictedKernel when program info is restrictedc27ff92staticcheck.conf: temporarily disable SA4003e653f17*: convert "go:generate go run ..." to "go:generate go tool ..."- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
This is an automatic backport of pull request #1171 done by [Mergify](https://mergify.com).
Cherry-pick of 39a40ac180142eeceba209beee1ef41e3cf6f5a0 has failed:
On branch mergify/bp/release/v1.5/pr-1171
Your branch is up to date with 'origin/release/v1.5'.
You are currently cherry-picking commit 39a40ac.
(fix conflicts and run "git cherry-pick --continue")
(use "git cherry-pick --skip" to skip this patch)
(use "git cherry-pick --abort" to cancel the cherry-pick operation)
Changes to be committed:
modified: go.sum
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: go.mod
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally
❗❗❗ All commits in this PR must be signed off. Please sign all commits by:
git rebase HEAD~1 --signoff
git push --force-with-lease origin mergify/bp/release/v1.5/pr-1171
Merge Protections
Your pull request matches the following merge protections and will not be merged until they are valid.
🔴 Enforce verified commits
This rule is failing.
Make sure that we have verified commits
- [ ]
#commits-unverified = 0
🟢 Enforce conventional commit
Wonderful, this rule succeeded.
Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
- [X]
title ~= ^(\[wip\]|\[backport\]|\[cherry-pick\])?( )?(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?:
🟢 Enforce linear history
Wonderful, this rule succeeded.
Make sure that we have a linear history, no merge commits are allowed
- [X]
linear-history