[ANNOUNCEMENT] libbpf v1.1 release

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

 



Libbpf v1.1 has been released ([0])!

It's been almost 3 months since v1.0.1 release, and as you can see
from the changelog below, v1.1 doesn't add much new functionality.
Instead, there is a rather large number of various bug fixes and
improvements, all over the API surface, improving usability and
stability of the library.

Which seems like a good thing and is a sign of libbpf's maturity and
completeness.

Thank you to all the contributors that are constantly making libbpf a
better BPF loader library!


## User space-side features and APIs:

- user-space ring buffer (`BPF_MAP_TYPE_USER_RINGBUF`) support;
- new [documentation
page](https://libbpf.readthedocs.io/en/latest/program_types.html)
listing all recognized `SEC()` definitions;
- BTF dedup improvements:
  - unambiguous fwd declaration resolution for structs and unions;
  - better handling of some corner cases with identical structs and arrays;
  - mixed enum and enum64 forward declaration resolution logic;
- `bpf_{link,btf,pro,mapg}_get_fd_by_id_opts()` and
`bpf_get_fd_by_id_opts()` APIs;
- libbpf supports loading raw BTF for BPF CO-RE from known search paths;
- support for new cgroup local storage (`BPF_MAP_TYPE_CGRP_STORAGE`);
- libbpf will only add `BPF_F_MMAPABLE` flag for data maps with
*global* (i.e., non-static) vars;
- latest Linux UAPI headers with lots of changes synced into include/uapi/linux.

## BPF-side features and APIs;

- `BPF_PROG2()` macro added that supports struct-by-value arguments;
- new BPF helpers:
  - `bpf_user_ringbuf_drain()`;
  - `cgrp_storage_get()` and `cgrp_storage_delete()`.

## Bug fixes
- BTF-to-C converter fixes:
  - better handling of padding corner cases;
  - `btf__align_of()` determines packed structs better now;
  - improved handling of enums of non-standard sizes;
- USDT spec parsing improvements;
- overflow handling fixes for ringbufs;
- Makefile fixes to support cross-compilation for 32-bit targets;
- fix crash if `SEC("freplace")` programs don't have `attach_prog_fd` set;
- better handling of file existence checks when running as non-root
with enhanced capabilities;
- a bunch of small fixes:
  - ELF handling improvements;
  - fix memory leak in USDT argument parsing logic;
  - fix NULL dereferences in few corner cases;
  - improved netlink attribute iteration handling.

[0] https://github.com/libbpf/libbpf/releases/tag/v1.1.0
[1] Full Changelog: https://github.com/libbpf/libbpf/compare/v1.0.1...v1.1.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