[ANNOUNCEMENT] libbpf v1.4.0 release

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Libbpf v1.4.0 has been released ([0]).

Another 4 months of libbpf development has passed.

On libbpf's user space side, we added support for some brand new BPF
features (BPF token, BPF arena maps, BPF cookies for raw tracepoints).
A big chunk of changes happened around struct_ops usability (kernel
module support) and handling backwards compatibility aspects using BPF
CO-RE principles (see notes below for details). Libbpf is now also
more helpful in its error messages when attempting to use BPF
maps/programs that were not auto-loaded/auto-created.

On BPF-side functionality, one major feature is support for annotating
BPF global subprogram arguments, making global subprogs usable and
useful in wider and more complicated scenarios. Helpfully, `__arg_ctx`
(for marking passed-in context argument) functionality is supported
even on old kernels that don't support `__arg_ctx` annotation
natively, thanks to (transparent) libbpf-only type rewriting logic.
This applies to kprobe/uprobe and perf_event programs, only. Other
program types require kernel-side support, unfortunately. See all the
`__arg_xxx` annotations added for full set of annotations supported.

Among other BPF-side additions are BPF arena-mapped global variables
support, significantly improving usability of BPF arena for
fixed-sized data sets. And the `bpf_core_cast()` macro was added to
make the usage of `bpf_rdonly_cast()` helper simpler in real programs.
There were also important additions to make libbpf work better with
the GCC-BPF compiler (mostly BPF CO-RE helpers).

Last but not least, a bunch of important bug fixes were applied,
making libbpf work better on Android systems, improving handling of
corrupt ELF files and various other edge cases.

Thanks to everyone contributing fixes, features, code reviews, as well
as feature requests and bug reports!

  [0] https://github.com/libbpf/libbpf/releases/tag/v1.4.0
  [1] Full Changelog: https://github.com/libbpf/libbpf/compare/v1.3.0...v1.4.0

-- Andrii




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux