diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | CHANGELOG | 70 | ||||
-rw-r--r-- | PKGBUILD | 16 |
4 files changed, 86 insertions, 17 deletions
@@ -1,20 +1,20 @@ pkgbase = bpftool-bin pkgdesc = bpftool is a tool for inspection and simple manipulation of eBPF programs and maps - pkgver = 7.3.0 + pkgver = 7.4.0 pkgrel = 1 url = https://github.com/libbpf/bpftool changelog = CHANGELOG arch = x86_64 arch = aarch64 - license = GPL2 + license = GPL-2.0-only makedepends = python-docutils provides = bpftool conflicts = bpftool - source = https://github.com/libbpf/bpftool/archive/refs/tags/v7.3.0.tar.gz - b2sums = 653ecbe71c35b59fbea347771a714158bf914335d419c40bffe69d18b2cbb07a9f0654fb97d49755e543d6a8c0b3a7f0c9123a170f6e492da8d5b3f45b4afc0a - source_x86_64 = https://github.com/libbpf/bpftool/releases/download/v7.3.0/bpftool-v7.3.0-amd64.tar.gz - b2sums_x86_64 = 5a7da1c466974844ae91f1bd25258708bb62169f924a73751f4467fb51f6a46c73ac65d72b54c5ad0f9236c16235f44736daf356da4cdf93ee71dde1bb634792 - source_aarch64 = https://github.com/libbpf/bpftool/releases/download/v7.3.0/bpftool-v7.3.0-arm64.tar.gz - b2sums_aarch64 = 1c30c45fe3b12460d9c255520946d55a60741f54c4c4b0147f7a63e460ec542d656651566354387be5c87982f103253bf471b671cba90751cd28f78a23e5ed28 + source = https://github.com/libbpf/bpftool/archive/refs/tags/v7.4.0.tar.gz + b2sums = ae7b6bc6cb742712981ba8972bcecccc63d440b2a77c5a14f91ba5106c013774313d65fd3f42b843ba4027ab17cf9d44d256270f7f8ad11907714f16f3149078 + source_x86_64 = https://github.com/libbpf/bpftool/releases/download/v7.4.0/bpftool-v7.4.0-amd64.tar.gz + b2sums_x86_64 = b4dff22034220336363faa30c7792b104e7bb6ead860510503d2c234f0ec98e099c2fdae2738956990100aa4898e63ce3a420d46aaa0aefb879234d8723a51cb + source_aarch64 = https://github.com/libbpf/bpftool/releases/download/v7.4.0/bpftool-v7.4.0-arm64.tar.gz + b2sums_aarch64 = 302a8d7caaae9d0ea850e455e99f62a9c3c0c7f60d90f2797422fd10b7631ff7588595950c59ecf5761510a3f7b447c072ed8224dde485d54e7f0bec937fb8f4 pkgname = bpftool-bin diff --git a/.gitignore b/.gitignore index 62399afa57c6..d9ed1f81f9b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.tar.* +*.log src/ pkg/ diff --git a/CHANGELOG b/CHANGELOG index f4f901e2fd05..63af22f087da 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,73 @@ +# Changes in version 7.4.0: + +### Breaking change + +- Kernel configuration options related to bpfilter (namely: CONFIG_BPFILTER and +CONFIG_BPFILTER_UMH) are no longer checked with bpftool feature probe, following +bpfilter's removal in recent kernels. (e725e62) + +### New features + +The information displayed for BPF links (bpftool link list) keeps getting enriched: + +- Display uprobe_multi links. (dd0b761) +- Display cookie for perf event link probes. (25df69b) +- Display cookie for kprobe_multi links. (4263cc0) + +Other features: + +- Generate shadow variables for struct_ops maps in program skeletons. Shadow types +allow skeleton users to easily access the fields of struct_ops maps at runtime. +An example program using shadow types is also added to the bpftool-gen manual +page. (fc0ad76, 579d6b0) + +- Mark orphaned programs as such when listing programs. Orphaned programs are +programs removed in IRQ context, on their way to be unloaded from kernel memory, +but possibly passing through audit hooks. Such programs would only be listed on +recent kernels. (5b0a3a4) + +- Recognize arena map types (a09e203) and global variables (73a2c7e), and support +the addr_space_cast instruction in the disassembler for translated programs, +used for working with arena maps (c305ebf). + +### Bug fixes + +- In the mirror repository, fix the detection of clang-bpf-co-re (for skeletons +support) for some clang versions. (515739f) + +- Displaying PIDs for processes holding references to BPF links when listing +links with bpftool link list on older kernels broke in v7.3.0, because the +internal program pid_iter would fail to load. Fix the program to ensure that +pid_iter loads and PIDs are displayed. (3214350) + +- When loading the internal pid_iter program for displaying PIDs of processes +holding file descriptors to BPF programs, we would suppress the logs from +libbpf. Display them when running bpftool in debug mode (--debug). (0cb4aaf) + +### Other internal changes + +- Silence build warning from calloc() appearing with recent versions of GCC +(supporting -Wcalloc-transposed-args). (c4cc180) + +- Use POSIX's version of basename() for more portability. (6e0d7d0) + +- Improve bpftool's bootstrap build by skipping compilation for some unnecessary +object files (3dc1ac6) and passing more relevant values in HOST_CFLAGS and +HOST_LDFLAGS (c1adf4a). This also results in more accurate results when listing +features with bpftool version for the boostrap bpftool binary. + +### Known bugs + +- Command bpftool cgroup tree may be broken when running with kernels under +v6.1. (#41) + +- When loading multiple programs with bpftool prog loadall and passing a +directory name for pinning them that is not located under an existing bpffs, +bpftool attempts to mount a new bpffs on the parent of the directory rather than +on the directory itself, possibly leading to a portion of the file arborescence +to be unexpectedly hidden by the mount. (#100) + + # Changes in version 7.3.0: ### Deprecation @@ -1,6 +1,7 @@ # Maintainer: Jiri Pospisil <jiri@jpospisil.com> + pkgname=bpftool-bin -pkgver=7.3.0 +pkgver=7.4.0 pkgrel=1 pkgdesc='bpftool is a tool for inspection and simple manipulation of eBPF programs and maps' url='https://github.com/libbpf/bpftool' @@ -11,22 +12,19 @@ arch=('x86_64' 'aarch64') makedepends=('python-docutils') provides=('bpftool') conflicts=('bpftool') -license=('GPL2') -changelog=CHANGELOG -b2sums=('653ecbe71c35b59fbea347771a714158bf914335d419c40bffe69d18b2cbb07a9f0654fb97d49755e543d6a8c0b3a7f0c9123a170f6e492da8d5b3f45b4afc0a') -b2sums_x86_64=('5a7da1c466974844ae91f1bd25258708bb62169f924a73751f4467fb51f6a46c73ac65d72b54c5ad0f9236c16235f44736daf356da4cdf93ee71dde1bb634792') -b2sums_aarch64=('1c30c45fe3b12460d9c255520946d55a60741f54c4c4b0147f7a63e460ec542d656651566354387be5c87982f103253bf471b671cba90751cd28f78a23e5ed28') +license=('GPL-2.0-only') +changelog='CHANGELOG' +b2sums=('ae7b6bc6cb742712981ba8972bcecccc63d440b2a77c5a14f91ba5106c013774313d65fd3f42b843ba4027ab17cf9d44d256270f7f8ad11907714f16f3149078') +b2sums_x86_64=('b4dff22034220336363faa30c7792b104e7bb6ead860510503d2c234f0ec98e099c2fdae2738956990100aa4898e63ce3a420d46aaa0aefb879234d8723a51cb') +b2sums_aarch64=('302a8d7caaae9d0ea850e455e99f62a9c3c0c7f60d90f2797422fd10b7631ff7588595950c59ecf5761510a3f7b447c072ed8224dde485d54e7f0bec937fb8f4') package() { - # Copy the main binary cd "$srcdir" install -Dm755 bpftool "$pkgdir/usr/bin/bpftool" - # Bash completions cd "bpftool-$pkgver" install -Dm644 bash-completion/bpftool "$pkgdir/usr/share/bash-completion/completions/bpftool" - # Man pages cd "docs" make install -Dm644 -t "$pkgdir/usr/share/man/man8" *.8 |