Overview

Request 1007954 accepted

- update to 1.0.1:
* fix inadvertently changed struct bpf_object_open_opts memory layout;
* fix btf.h header relying on struct enum64 type defined in kernel UAPI headers;
* fix NULL pointer exception in API btf_dump__dump_type_data;
* remove struct btf_map_def accidentally left in bpf_helpers.h header.
* All deprecated APIs and features removed!
* support for syscall-specific kprobe/kretprobe
(SEC("ksyscall/") and SEC("kretsyscall/"));
* support for sleepable uprobe BPF programs (SEC("uprobe.s"));
* support for per-cgroup LSM BPF programs (SEC("lsm_cgroup"));
* support for new BPF CO-RE relocation TYPE_MATCHES;
* bpf_prog_load() and bpf_map_create() are now smarter about handling program
and map name on old kernels (it will be ignored if kernel doesn't support
names);
* BTF_KIND_ENUM64 support;
* increase tracing attachment (kprobe/uprobe/tracepoint) robustness by using
tracefs or debugfs, whichever is mounted;
* new APIs for converting BPF enums to their string representation:
* libbpf_bpf_prog_type_str();
* libbpf_bpf_map_type_str();
* libbpf_bpf_link_type_str();
* libbpf_bpf_attach_type_str();
* bpf_program__set_autoattach() and bpf_program__autoattach() to allow opting
out from auto-attaching of BPF program by BPF skeleton;
* perf_buffer__buffer() API to give access to underlying per-CPU buffer for BPF ringbuf;
* bpf_obj_get_opts() API for more flexible fetching of BPF kernel objects' information.
- see https://github.com/libbpf/libbpf/releases/tag/v1.0.0 for detailed changelog

Loading...

Shung-Hsi Yu's avatar

It seems that systemd doesn't support libbpf 1.0 yet (see upstream discussion https://github.com/libbpf/libbpf/issues/590).

I plan to wait a bit to see if a new version systemd that supports libbpf 1.0 will arrive before accepting this SR. Does that sound reasonable? (or maybe there's better way apart from maintaining multiple versions of libbpf?)


Dirk Mueller's avatar
author source maintainer target maintainer

it appears that systemd has gained libbpf 1.0.x support: https://github.com/systemd/systemd/pull/24511


Dirk Mueller's avatar
author source maintainer target maintainer

filed https://github.com/openSUSE/systemd/issues/63 to get a backport


Shung-Hsi Yu's avatar

Thanks for the update!


Request History
Dirk Mueller's avatar

dirkmueller created request

- update to 1.0.1:
* fix inadvertently changed struct bpf_object_open_opts memory layout;
* fix btf.h header relying on struct enum64 type defined in kernel UAPI headers;
* fix NULL pointer exception in API btf_dump__dump_type_data;
* remove struct btf_map_def accidentally left in bpf_helpers.h header.
* All deprecated APIs and features removed!
* support for syscall-specific kprobe/kretprobe
(SEC("ksyscall/") and SEC("kretsyscall/"));
* support for sleepable uprobe BPF programs (SEC("uprobe.s"));
* support for per-cgroup LSM BPF programs (SEC("lsm_cgroup"));
* support for new BPF CO-RE relocation TYPE_MATCHES;
* bpf_prog_load() and bpf_map_create() are now smarter about handling program
and map name on old kernels (it will be ignored if kernel doesn't support
names);
* BTF_KIND_ENUM64 support;
* increase tracing attachment (kprobe/uprobe/tracepoint) robustness by using
tracefs or debugfs, whichever is mounted;
* new APIs for converting BPF enums to their string representation:
* libbpf_bpf_prog_type_str();
* libbpf_bpf_map_type_str();
* libbpf_bpf_link_type_str();
* libbpf_bpf_attach_type_str();
* bpf_program__set_autoattach() and bpf_program__autoattach() to allow opting
out from auto-attaching of BPF program by BPF skeleton;
* perf_buffer__buffer() API to give access to underlying per-CPU buffer for BPF ringbuf;
* bpf_obj_get_opts() API for more flexible fetching of BPF kernel objects' information.
- see https://github.com/libbpf/libbpf/releases/tag/v1.0.0 for detailed changelog


Shung-Hsi Yu's avatar

shunghsiyu accepted request

Accepting the request now that libbpf v1.0 is supported in systemd upstream. Will forward the request to Factory once opensuse:Factory/systemd is at v252 (or has the required backport, whichever comes first).

openSUSE Build Service is sponsored by