Re: [PATCH bpf-next v2 04/28] libbpf: add HID program type and API
flat view
From: Andrii Nakryiko <hidden>
Date: 2022-03-08 05:52:25
Also in:
bpf, linux-input, linux-kselftest, lkml
On Mon, Mar 7, 2022 at 5:38 PM Song Liu [off-list ref] wrote:
quoted
On Mar 7, 2022, at 5:30 PM, Andrii Nakryiko [off-list ref] wrote: On Fri, Mar 4, 2022 at 9:31 AM Benjamin Tissoires [off-list ref] wrote:quoted
HID-bpf program type are needing a new SEC. To bind a hid-bpf program, we can rely on bpf_program__attach_fd() so export a new function to the API. Signed-off-by: Benjamin Tissoires <redacted> --- changes in v2: - split the series by bpf/libbpf/hid/selftests and samples --- tools/lib/bpf/libbpf.c | 7 +++++++ tools/lib/bpf/libbpf.h | 2 ++ tools/lib/bpf/libbpf.map | 1 + 3 files changed, 10 insertions(+)diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 81bf01d67671..356bbd3ad2c7 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c@@ -8680,6 +8680,7 @@ static const struct bpf_sec_def section_defs[] = { SEC_DEF("cgroup/setsockopt", CGROUP_SOCKOPT, BPF_CGROUP_SETSOCKOPT, SEC_ATTACHABLE | SEC_SLOPPY_PFX), SEC_DEF("struct_ops+", STRUCT_OPS, 0, SEC_NONE), SEC_DEF("sk_lookup", SK_LOOKUP, BPF_SK_LOOKUP, SEC_ATTACHABLE | SEC_SLOPPY_PFX), + SEC_DEF("hid/device_event", HID, BPF_HID_DEVICE_EVENT, SEC_ATTACHABLE_OPT | SEC_SLOPPY_PFX),no SEC_SLOPPY_PFX for any new program type, pleasequoted
}; #define MAX_TYPE_NAME_SIZE 32@@ -10659,6 +10660,12 @@ static struct bpf_link *attach_iter(const struct bpf_program *prog, long cookie) return bpf_program__attach_iter(prog, NULL);} +struct bpf_link * +bpf_program__attach_hid(const struct bpf_program *prog, int hid_fd) +{ + return bpf_program__attach_fd(prog, hid_fd, 0, "hid"); +} + struct bpf_link *bpf_program__attach(const struct bpf_program *prog) { if (!prog->sec_def || !prog->sec_def->attach_fn)diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h index c8d8daad212e..f677ac0a9ede 100644 --- a/tools/lib/bpf/libbpf.h +++ b/tools/lib/bpf/libbpf.h@@ -529,6 +529,8 @@ struct bpf_iter_attach_opts {LIBBPF_API struct bpf_link * bpf_program__attach_iter(const struct bpf_program *prog, const struct bpf_iter_attach_opts *opts); +LIBBPF_API struct bpf_link * +bpf_program__attach_hid(const struct bpf_program *prog, int hid_fd); /* * Libbpf allows callers to adjust BPF programs before being loadeddiff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map index 47e70c9058d9..fdc6fa743953 100644 --- a/tools/lib/bpf/libbpf.map +++ b/tools/lib/bpf/libbpf.map@@ -424,6 +424,7 @@ LIBBPF_0.6.0 {LIBBPF_0.7.0 { global: bpf_btf_load; + bpf_program__attach_hid;should go into 0.8.0Ah, I missed this one. btw, bpf_xdp_attach and buddies should also go into 0.8.0, no?
not really, they were released in libbpf v0.7, it's just any new incoming API that should go into 0.8.0
quoted
quoted
bpf_program__expected_attach_type; bpf_program__log_buf; bpf_program__log_level; -- 2.35.1