netobserv-ebpf-agent
netobserv-ebpf-agent copied to clipboard
Bump github.com/cilium/ebpf from 0.19.0 to 0.20.0
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)
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign mariomac for approval. For more information see the Code Review Process.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
Hi @dependabot[bot]. Thanks for your PR.
I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.