diff options
author | Stanislav Fomichev <sdf@google.com> | 2019-06-27 16:38:49 -0400 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-06-27 18:25:17 -0400 |
commit | 4cdbfb59c44a0df58ab321e4ddd9710cd0823584 (patch) | |
tree | 62b8dbccb3f4f9d16fffd6aa70df97e05431e772 | |
parent | aa6ab6471e525ce6842e95a565f10b56fd6b4d5c (diff) |
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>
-rw-r--r-- | tools/lib/bpf/libbpf.c | 5 | ||||
-rw-r--r-- | tools/lib/bpf/libbpf_probes.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 5186b7710430..6e6ebef11ba3 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c | |||
@@ -2646,6 +2646,7 @@ static bool bpf_prog_type__needs_kver(enum bpf_prog_type type) | |||
2646 | case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: | 2646 | case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: |
2647 | case BPF_PROG_TYPE_PERF_EVENT: | 2647 | case BPF_PROG_TYPE_PERF_EVENT: |
2648 | case BPF_PROG_TYPE_CGROUP_SYSCTL: | 2648 | case BPF_PROG_TYPE_CGROUP_SYSCTL: |
2649 | case BPF_PROG_TYPE_CGROUP_SOCKOPT: | ||
2649 | return false; | 2650 | return false; |
2650 | case BPF_PROG_TYPE_KPROBE: | 2651 | case BPF_PROG_TYPE_KPROBE: |
2651 | default: | 2652 | default: |
@@ -3604,6 +3605,10 @@ static const struct { | |||
3604 | BPF_CGROUP_UDP6_RECVMSG), | 3605 | BPF_CGROUP_UDP6_RECVMSG), |
3605 | BPF_EAPROG_SEC("cgroup/sysctl", BPF_PROG_TYPE_CGROUP_SYSCTL, | 3606 | BPF_EAPROG_SEC("cgroup/sysctl", BPF_PROG_TYPE_CGROUP_SYSCTL, |
3606 | BPF_CGROUP_SYSCTL), | 3607 | BPF_CGROUP_SYSCTL), |
3608 | BPF_EAPROG_SEC("cgroup/getsockopt", BPF_PROG_TYPE_CGROUP_SOCKOPT, | ||
3609 | BPF_CGROUP_GETSOCKOPT), | ||
3610 | BPF_EAPROG_SEC("cgroup/setsockopt", BPF_PROG_TYPE_CGROUP_SOCKOPT, | ||
3611 | BPF_CGROUP_SETSOCKOPT), | ||
3607 | }; | 3612 | }; |
3608 | 3613 | ||
3609 | #undef BPF_PROG_SEC_IMPL | 3614 | #undef BPF_PROG_SEC_IMPL |
diff --git a/tools/lib/bpf/libbpf_probes.c b/tools/lib/bpf/libbpf_probes.c index 6635a31a7a16..ace1a0708d99 100644 --- a/tools/lib/bpf/libbpf_probes.c +++ b/tools/lib/bpf/libbpf_probes.c | |||
@@ -101,6 +101,7 @@ probe_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns, | |||
101 | case BPF_PROG_TYPE_SK_REUSEPORT: | 101 | case BPF_PROG_TYPE_SK_REUSEPORT: |
102 | case BPF_PROG_TYPE_FLOW_DISSECTOR: | 102 | case BPF_PROG_TYPE_FLOW_DISSECTOR: |
103 | case BPF_PROG_TYPE_CGROUP_SYSCTL: | 103 | case BPF_PROG_TYPE_CGROUP_SYSCTL: |
104 | case BPF_PROG_TYPE_CGROUP_SOCKOPT: | ||
104 | default: | 105 | default: |
105 | break; | 106 | break; |
106 | } | 107 | } |