Commit 4b82b181a26c ("bpf: Allow pre-ordering for bpf cgroup progs")
introduced BPF_F_PREORDER to request top-down (ancestor to descendant)
execution ordering across the cgroup hierarchy. While this flag is stored
in struct bpf_prog_list::flags and affects the effective program ordering,
direct BPF_PROG_QUERY currently reports only the cgroup-wide flags and
omits BPF_F_PREORDER from prog_attach_flags[].This series extends direct cgroup program queries to expose the per-program BPF_F_PREORDER state, adds selftests to validate the reported flags, and updates bpftool to support inspection, attachment, documentation, and bash completion. Structure of the series: - Patch 1 extends __cgroup_bpf_query() so that prog_attach_flags[] includes BPF_F_PREORDER for direct queries. - Patch 2 adds query verification to cgroup_mprog_opts selftests for both direct program and bpf_link attachments. - Patch 3 updates bpftool with bitmask attach flag formatting, preorder attachment CLI support, bash completion for valid flag combinations, and documentation. Testing: - Verified that baseline kernel reports 0x2 for PREORDER multi-attachments through BPF_PROG_QUERY. - Verified that the patched kernel reports 0x42 (BPF_F_ALLOW_MULTI | BPF_F_PREORDER). - Selftests cgroup_mprog_opts (all subtests) and cgroup_preorder pass in an x86_64 QEMU/KVM guest. - bpftool and its documentation build cleanly without warnings or errors. - Bash completion verified for standalone and composite flag combinations. - checkpatch.pl reports 0 errors and 0 warnings across all patches. Changes in v2: - Rebase onto bpf-next and drop the Fixes tag, as requested by Alexei Starovoitov. - Document the userspace-visible BPF_PROG_QUERY flag extension. - Factor the duplicated PREORDER query checks and fix comment style. - Clarify PREORDER ordering and single/multi attachment semantics. - Fix bash completion for valid PREORDER flag combinations. Hui Su (3): bpf: Report BPF_F_PREORDER in cgroup program queries selftests/bpf: Test querying BPF_F_PREORDER cgroup attachments bpftool: Add support for BPF_F_PREORDER cgroup attach flag kernel/bpf/cgroup.c | 16 ++--- .../bpftool/Documentation/bpftool-cgroup.rst | 25 ++++--- tools/bpf/bpftool/bash-completion/bpftool | 4 +- tools/bpf/bpftool/cgroup.c | 55 +++++++++----- .../bpf/prog_tests/cgroup_mprog_opts.c | 72 ++++++++++++++++++- 5 files changed, 134 insertions(+), 38 deletions(-) -- 2.55.0

