On 12/29/19 6:37 AM, Jiri Olsa wrote: > I'm not sure why the restriction was added, > but I can't access pointers to POD types like > const char * when probing vfs_read function. > > Removing the check and allow non struct type > access in context. > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > --- > kernel/bpf/btf.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c > index ed2075884724..ae90f60ac1b8 100644 > --- a/kernel/bpf/btf.c > +++ b/kernel/bpf/btf.c > @@ -3712,12 +3712,6 @@ bool btf_ctx_access(int off, int size, enum bpf_access_type type, > /* skip modifiers */ > while (btf_type_is_modifier(t)) > t = btf_type_by_id(btf, t->type); > - if (!btf_type_is_struct(t)) { > - bpf_log(log, > - "func '%s' arg%d type %s is not a struct\n", > - tname, arg, btf_kind_str[BTF_INFO_KIND(t->info)]); > - return false; > - } Hi, Jiri, the RFC looks great! Especially, you also referenced this will give great performance boost for bcc scripts. Could you provide more context on why the above change is needed? The function btf_ctx_access is used to check validity of accessing function parameters which are wrapped inside a structure, I am wondering what kinds of accesses you tried to address here. > bpf_log(log, "func '%s' arg%d has btf_id %d type %s '%s'\n", > tname, arg, info->btf_id, btf_kind_str[BTF_INFO_KIND(t->info)], > __btf_name_by_offset(btf, t->name_off)); >