mirror of
https://github.com/netdata/libbpf.git
synced 2026-11-08 20:00:43 +08:00
libbpf: Add ability to get/set per-program load flags
Add bpf_program__flags() API to retrieve prog_flags that will be (or were) supplied to BPF_PROG_LOAD command. Also add bpf_program__set_extra_flags() API to allow to set *extra* flags, in addition to those determined by program's SEC() definition. Such flags are logically OR'ed with libbpf-derived flags. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20211111051758.92283-2-andrii@kernel.org
This commit is contained in:
1 parent
932800b20b
commit
0e80b7dc3f
3 files changed
+19
No files matched your search
@@ -8262,6 +8262,20 @@ void bpf_program__set_expected_attach_type(struct bpf_program *prog,
|
||||
prog->expected_attach_type = type;
|
||||
}
|
||||
|
||||
__u32 bpf_program__flags(const struct bpf_program *prog)
|
||||
{
|
||||
return prog->prog_flags;
|
||||
}
|
||||
|
||||
int bpf_program__set_extra_flags(struct bpf_program *prog, __u32 extra_flags)
|
||||
{
|
||||
if (prog->obj->loaded)
|
||||
return libbpf_err(-EBUSY);
|
||||
|
||||
prog->prog_flags |= extra_flags;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define SEC_DEF(sec_pfx, ptype, atype, flags, ...) { \
|
||||
.sec = sec_pfx, \
|
||||
.prog_type = BPF_PROG_TYPE_##ptype, \
|
||||
|
||||
Reference in new issue
Block a user