Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

libbpf: support sockopt hooks

Make libbpf aware of new sockopt hooks so it can derive prog type
and hook point from the section names.

Cc: Andrii Nakryiko <andriin@fb.com>
Cc: Martin Lau <kafai@fb.com>
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>

authored by

Stanislav Fomichev and committed by
Alexei Starovoitov
4cdbfb59 aa6ab647

+6
+5
tools/lib/bpf/libbpf.c
··· 2646 2646 case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: 2647 2647 case BPF_PROG_TYPE_PERF_EVENT: 2648 2648 case BPF_PROG_TYPE_CGROUP_SYSCTL: 2649 + case BPF_PROG_TYPE_CGROUP_SOCKOPT: 2649 2650 return false; 2650 2651 case BPF_PROG_TYPE_KPROBE: 2651 2652 default: ··· 3605 3604 BPF_CGROUP_UDP6_RECVMSG), 3606 3605 BPF_EAPROG_SEC("cgroup/sysctl", BPF_PROG_TYPE_CGROUP_SYSCTL, 3607 3606 BPF_CGROUP_SYSCTL), 3607 + BPF_EAPROG_SEC("cgroup/getsockopt", BPF_PROG_TYPE_CGROUP_SOCKOPT, 3608 + BPF_CGROUP_GETSOCKOPT), 3609 + BPF_EAPROG_SEC("cgroup/setsockopt", BPF_PROG_TYPE_CGROUP_SOCKOPT, 3610 + BPF_CGROUP_SETSOCKOPT), 3608 3611 }; 3609 3612 3610 3613 #undef BPF_PROG_SEC_IMPL
+1
tools/lib/bpf/libbpf_probes.c
··· 101 101 case BPF_PROG_TYPE_SK_REUSEPORT: 102 102 case BPF_PROG_TYPE_FLOW_DISSECTOR: 103 103 case BPF_PROG_TYPE_CGROUP_SYSCTL: 104 + case BPF_PROG_TYPE_CGROUP_SOCKOPT: 104 105 default: 105 106 break; 106 107 }