linux/tools
YiFei Zhu 43745d11bf bpftool: Fix regression of "bpftool cgroup tree" EINVAL on older kernels
If cgroup_has_attached_progs queries an attach type not supported
by the running kernel, due to the kernel being older than the bpftool
build, it would encounter an -EINVAL from BPF_PROG_QUERY syscall.

Prior to commit 98b303c9bf ("bpftool: Query only cgroup-related
attach types"), this EINVAL would be ignored by the function, allowing
the function to only consider supported attach types. The commit
changed so that, instead of querying all attach types, only attach
types from the array `cgroup_attach_types` is queried. The assumption
is that because these are only cgroup attach types, they should all
be supported. Unfortunately this assumption may be false when the
kernel is older than the bpftool build, where the attach types queried
by bpftool is not yet implemented in the kernel. This would result in
errors such as:

  $ bpftool cgroup tree
  CgroupPath
  ID       AttachType      AttachFlags     Name
  Error: can't query bpf programs attached to /sys/fs/cgroup: Invalid argument

This patch restores the logic of ignoring EINVAL from prior to that patch.

Fixes: 98b303c9bf ("bpftool: Query only cgroup-related attach types")
Reported-by: Sagarika Sharma <sharmasagarika@google.com>
Reported-by: Minh-Anh Nguyen <minhanhdn@google.com>
Signed-off-by: YiFei Zhu <zhuyifei@google.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Quentin Monnet <qmo@kernel.org>
Link: https://lore.kernel.org/bpf/20250428211536.1651456-1-zhuyifei@google.com
2025-05-06 13:53:55 -07:00
..
accounting
arch x86/insn: Fix CTEST instruction decoding 2025-04-24 20:19:17 +02:00
bootconfig
bpf bpftool: Fix regression of "bpftool cgroup tree" EINVAL on older kernels 2025-05-06 13:53:55 -07:00
build perf tools changes for v6.15 2025-03-31 08:52:33 -07:00
certs
cgroup
counter
crypto
debugging
firewire
firmware
gpio
hv
iio
include Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after rc3 2025-04-21 08:04:38 -07:00
kvm/kvm_stat
laptop
leds
lib libbpf: Improve BTF dedup handling of "identical" BTF types 2025-05-05 14:51:47 -07:00
memory-model
mm
net tools: ynl-gen: make sure we validate subtype of array-nest 2025-04-16 18:09:41 -07:00
objtool Rust fixes for v6.15 2025-04-19 10:02:43 -07:00
pcmcia
perf perf tools: Remove evsel__handle_error_quirks() 2025-04-11 09:22:49 -07:00
power Turbostat 2025.05.06 2025-04-06 12:32:43 -07:00
rcu
sched_ext sched_ext: Mark SCX_OPS_HAS_CGROUP_WEIGHT for deprecation 2025-04-08 08:53:52 -10:00
scripts tools headers: Update the syscall table with the kernel sources 2025-04-10 09:28:24 -07:00
sound
spi
testing selftests/bpf: Add test for bpf_list_{front,back} 2025-05-06 10:21:06 -07:00
thermal
time
tracing tracing tooling updates for 6.15: 2025-03-27 17:03:01 -07:00
usb
verification tracing tooling updates for 6.15: 2025-03-27 17:03:01 -07:00
virtio
wmi
workqueue
writeback
Makefile