aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Ignatov <rdna@fb.com>2019-03-08 12:15:26 -0500
committerAlexei Starovoitov <ast@kernel.org>2019-04-12 16:54:58 -0400
commit063cc9f06ee6cac12dbc68a504bc4ff56bde790d (patch)
treed34b044fef130e7ba245d8740e968ebcbfe8b560
parent196398d4c0ac3de6f016f7774c952a069e116e71 (diff)
libbpf: Support sysctl hook
Support BPF_PROG_TYPE_CGROUP_SYSCTL program in libbpf: identifying program and attach types by section name, probe. Signed-off-by: Andrey Ignatov <rdna@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
-rw-r--r--tools/lib/bpf/libbpf.c3
-rw-r--r--tools/lib/bpf/libbpf_probes.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index 67484cf32b2e..e5b77ad97795 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -2064,6 +2064,7 @@ static bool bpf_prog_type__needs_kver(enum bpf_prog_type type)
2064 case BPF_PROG_TYPE_TRACEPOINT: 2064 case BPF_PROG_TYPE_TRACEPOINT:
2065 case BPF_PROG_TYPE_RAW_TRACEPOINT: 2065 case BPF_PROG_TYPE_RAW_TRACEPOINT:
2066 case BPF_PROG_TYPE_PERF_EVENT: 2066 case BPF_PROG_TYPE_PERF_EVENT:
2067 case BPF_PROG_TYPE_CGROUP_SYSCTL:
2067 return false; 2068 return false;
2068 case BPF_PROG_TYPE_KPROBE: 2069 case BPF_PROG_TYPE_KPROBE:
2069 default: 2070 default:
@@ -3004,6 +3005,8 @@ static const struct {
3004 BPF_CGROUP_UDP4_SENDMSG), 3005 BPF_CGROUP_UDP4_SENDMSG),
3005 BPF_EAPROG_SEC("cgroup/sendmsg6", BPF_PROG_TYPE_CGROUP_SOCK_ADDR, 3006 BPF_EAPROG_SEC("cgroup/sendmsg6", BPF_PROG_TYPE_CGROUP_SOCK_ADDR,
3006 BPF_CGROUP_UDP6_SENDMSG), 3007 BPF_CGROUP_UDP6_SENDMSG),
3008 BPF_EAPROG_SEC("cgroup/sysctl", BPF_PROG_TYPE_CGROUP_SYSCTL,
3009 BPF_CGROUP_SYSCTL),
3007}; 3010};
3008 3011
3009#undef BPF_PROG_SEC_IMPL 3012#undef BPF_PROG_SEC_IMPL
diff --git a/tools/lib/bpf/libbpf_probes.c b/tools/lib/bpf/libbpf_probes.c
index 8c3a1c04dcb2..0f25541632e3 100644
--- a/tools/lib/bpf/libbpf_probes.c
+++ b/tools/lib/bpf/libbpf_probes.c
@@ -97,6 +97,7 @@ probe_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns,
97 case BPF_PROG_TYPE_LIRC_MODE2: 97 case BPF_PROG_TYPE_LIRC_MODE2:
98 case BPF_PROG_TYPE_SK_REUSEPORT: 98 case BPF_PROG_TYPE_SK_REUSEPORT:
99 case BPF_PROG_TYPE_FLOW_DISSECTOR: 99 case BPF_PROG_TYPE_FLOW_DISSECTOR:
100 case BPF_PROG_TYPE_CGROUP_SYSCTL:
100 default: 101 default:
101 break; 102 break;
102 } 103 }