libbpf: Add support for BPF_CGROUP_INET_SOCK_RELEASE
authorStanislav Fomichev <sdf@google.com>
Mon, 6 Jul 2020 23:01:26 +0000 (16:01 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 7 Jul 2020 23:07:35 +0000 (01:07 +0200)
Add auto-detection for the cgroup/sock_release programs.

Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200706230128.4073544-3-sdf@google.com
tools/include/uapi/linux/bpf.h
tools/lib/bpf/libbpf.c

index da9bf35..548a749 100644 (file)
@@ -226,6 +226,7 @@ enum bpf_attach_type {
        BPF_CGROUP_INET4_GETSOCKNAME,
        BPF_CGROUP_INET6_GETSOCKNAME,
        BPF_XDP_DEVMAP,
+       BPF_CGROUP_INET_SOCK_RELEASE,
        __MAX_BPF_ATTACH_TYPE
 };
 
index 4ea7f4f..88a4836 100644 (file)
@@ -6917,6 +6917,10 @@ static const struct bpf_sec_def section_defs[] = {
        BPF_APROG_SEC("cgroup_skb/egress",      BPF_PROG_TYPE_CGROUP_SKB,
                                                BPF_CGROUP_INET_EGRESS),
        BPF_APROG_COMPAT("cgroup/skb",          BPF_PROG_TYPE_CGROUP_SKB),
+       BPF_EAPROG_SEC("cgroup/sock_create",    BPF_PROG_TYPE_CGROUP_SOCK,
+                                               BPF_CGROUP_INET_SOCK_CREATE),
+       BPF_EAPROG_SEC("cgroup/sock_release",   BPF_PROG_TYPE_CGROUP_SOCK,
+                                               BPF_CGROUP_INET_SOCK_RELEASE),
        BPF_APROG_SEC("cgroup/sock",            BPF_PROG_TYPE_CGROUP_SOCK,
                                                BPF_CGROUP_INET_SOCK_CREATE),
        BPF_EAPROG_SEC("cgroup/post_bind4",     BPF_PROG_TYPE_CGROUP_SOCK,