github cilium/ebpf v0.15.0

latest release: v0.16.0
6 months ago

btf: bpf_core_type_matches is now supported

Programs can now use bpf_core_type_matches() for a stricter compatibility check. See #1366.

program, btf: improve debuggability when CO-RE or kfunc fixup fails

The library now tries to return a more informative error when loading a program fails due to a failed CO-RE relocation or a missing kfunc. See #1402.

btf: synthesise instruction comments into line info

asm.Comment in an instruction's Source() are now passed to the kernel in the form of BTF line info. See #1417.

perf: add WakeupEvents support to Reader

A perf Reader can now be configured to be woken up after a specific number of events / samples have been submitted. See #1404.

Bugfixes

  • program: fix loading a program which targets a function in a kernel module when CONFIG_DEBUG_INFO_BTF_MODULES is disabled, see #1440.

Breaking changes

github.com/cilium/ebpf/btf

  • Copy: the transform argument was removed. Use the new btf.As function instead.
  • Transformer: removed. See above.

What's Changed

  • btf: use recursion by @lmb in #1397
  • gh: hopefully fix apidiff workflow by @lmb in #1401
  • gh: only cancel pull_request runs by @lmb in #1403
  • build(deps): bump pymdown-extensions from 10.7 to 10.7.1 in /docs by @dependabot in #1410
  • build(deps): bump mkdocs-git-authors-plugin from 0.7.2 to 0.8.0 in /docs by @dependabot in #1411
  • build(deps): bump mkdocs-material from 9.5.12 to 9.5.16 in /docs by @dependabot in #1409
  • program, btf: improve debuggability when CO-RE or kfunc fixup fails by @lmb in #1402
  • add WakeupEvents support to perf Reader by @brycekahle in #1404
  • Extend go test CI from 10 to 15 miniutes by @dylandreimerink in #1418
  • btf: synthesise instruction comments into line info by @MarcusWichelmann in #1417
  • Add support to retrieve missed counts from probes by @olsajiri in #1295
  • perf: fix TestPerfReaderWakeupEvents by @lmb in #1423
  • Don't mention inexistent outLen parameter in (*Program).Test godoc by @tklauser in #1426
  • btf: refuse reloTypeIDTarget for kmod types by @lmb in #1422
  • when ringbuffer map size is not a power-of-2 multiple of page size, prompt users in a user-friendly way by @hengyoush in #1420
  • btf: Add support for bpf_core_type_matches() by @dylandreimerink in #1366
  • Define LookupLock by means of BPF_F_LOCK by @tklauser in #1428
  • build(deps): bump idna from 3.6 to 3.7 in /docs by @dependabot in #1431
  • fix function name by @looklose in #1427
  • doc: rephrase supported kernel versions by @lmb in #1439
  • Use latest Go version for ARM64 and VM tests in CI by @tklauser in #1430
  • program: don't return error when kmod BTF is disabled by @orishuss in #1440

New Contributors

Full Changelog: v0.14.0...v0.15.0

Don't miss a new ebpf release

NewReleases is sending notifications on new releases.