Re: [PATCH bpf-next v1 04/13] bpf: lsm: Allow btf_id based attachment for LSM hooks
From: KP Singh <hidden>
Date: 2019-12-30 19:22:38
Also in:
bpf, lkml
On 23-Dez 15:54, Andrii Nakryiko wrote:
On Fri, Dec 20, 2019 at 7:42 AM KP Singh [off-list ref] wrote:quoted
From: KP Singh <redacted> Refactor and re-use most of the logic for BPF_PROG_TYPE_TRACING with a few changes. - The LSM hook BTF types are prefixed with "lsm_btf_"
Got rid of this for v2 as we are using trampoline. Will keep this in mind if we ever need to generate type information. Thanks!
btf_trace_ and btf_struct_ops all have btf_ first, let's keep this consistent.quoted
- These types do not need the first (void *) pointer argument. The verifier only looks for this argument if prod->aux->attach_btf_trace is set. Signed-off-by: KP Singh <redacted> --- kernel/bpf/syscall.c | 1 + kernel/bpf/verifier.c | 83 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 80 insertions(+), 4 deletions(-)[...]quoted
+ + t = btf_type_by_id(btf_vmlinux, btf_id); + if (!t) { + verbose(env, "attach_btf_id %u is invalid\n", btf_id); + return -EINVAL; + } + + tname = btf_name_by_offset(btf_vmlinux, t->name_off); + if (!tname) {it can be empty, so better: !tname || !tname[0]
Will fix the usages in v2. - KP
quoted
+ verbose(env, "attach_btf_id %u doesn't have a name\n", btf_id); + return -EINVAL; + } +[...]