2022-06-10 09:58 UTC-0700 ~ Stanislav Fomichev <sdf@xxxxxxxxxx> > $ bpftool --nomount prog loadall $KDIR/tools/testing/selftests/bpf/lsm_cgroup.o /sys/fs/bpf/x > $ bpftool cgroup attach /sys/fs/cgroup lsm_cgroup pinned /sys/fs/bpf/x/socket_alloc > $ bpftool cgroup attach /sys/fs/cgroup lsm_cgroup pinned /sys/fs/bpf/x/socket_bind > $ bpftool cgroup attach /sys/fs/cgroup lsm_cgroup pinned /sys/fs/bpf/x/socket_clone > $ bpftool cgroup attach /sys/fs/cgroup lsm_cgroup pinned /sys/fs/bpf/x/socket_post_create > $ bpftool cgroup tree > CgroupPath > ID AttachType AttachFlags Name > /sys/fs/cgroup > 6 lsm_cgroup socket_post_create bpf_lsm_socket_post_create > 8 lsm_cgroup socket_bind bpf_lsm_socket_bind > 10 lsm_cgroup socket_alloc bpf_lsm_sk_alloc_security > 11 lsm_cgroup socket_clone bpf_lsm_inet_csk_clone > > $ bpftool cgroup detach /sys/fs/cgroup lsm_cgroup pinned /sys/fs/bpf/x/socket_post_create > $ bpftool cgroup tree > CgroupPath > ID AttachType AttachFlags Name > /sys/fs/cgroup > 8 lsm_cgroup socket_bind bpf_lsm_socket_bind > 10 lsm_cgroup socket_alloc bpf_lsm_sk_alloc_security > 11 lsm_cgroup socket_clone bpf_lsm_inet_csk_clone > > Signed-off-by: Stanislav Fomichev <sdf@xxxxxxxxxx> The changes for bpftool look good to me, thanks! Reviewed-by: Quentin Monnet <quentin@xxxxxxxxxxxxx> > --- > tools/bpf/bpftool/cgroup.c | 80 +++++++++++++++++++++++++++----------- > 1 file changed, 58 insertions(+), 22 deletions(-) > > diff --git a/tools/bpf/bpftool/cgroup.c b/tools/bpf/bpftool/cgroup.c > index 42421fe47a58..6e55f583a62f 100644 > --- a/tools/bpf/bpftool/cgroup.c > +++ b/tools/bpf/bpftool/cgroup.c > @@ -542,5 +577,6 @@ static const struct cmd cmds[] = { > > int do_cgroup(int argc, char **argv) > { > + btf_vmlinux = libbpf_find_kernel_btf(); > return cmd_select(cmds, argc, argv, do_help); > } This is not required for all "bpftool cgroup" operations (attach/detach don't need it I think), but should be inexpensive, right? Quentin