All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrii Nakryiko <andrii.nakryiko@gmail.com>
To: bpf <bpf@vger.kernel.org>
Cc: Eduard Zingerman <eddyz87@gmail.com>
Subject: [ANNOUNCEMENT] libbpf v1.4.0 release
Date: Mon, 1 Apr 2024 11:09:39 -0700	[thread overview]
Message-ID: <CAEf4BzbCTU3P3_e-=XC5PpxBuyh=HSOOO8_r-Zbcgr2vVdZv5A@mail.gmail.com> (raw)

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

             reply	other threads:[~2024-04-01 18:09 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-01 18:09 Andrii Nakryiko [this message]
2024-04-01 18:12 ` [ANNOUNCEMENT] libbpf v1.4.0 release Andrii Nakryiko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEf4BzbCTU3P3_e-=XC5PpxBuyh=HSOOO8_r-Zbcgr2vVdZv5A@mail.gmail.com' \
    --to=andrii.nakryiko@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=eddyz87@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.