bpf: Remove recursion call in btf_struct_access
Andrii suggested we can simply jump to again label instead of making recursion call. Suggested-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Andrii Nakryiko <andriin@fb.com> Link: https://lore.kernel.org/bpf/20200825192124.710397-7-jolsa@kernel.org
This commit is contained in:
parent
887c31a39c
commit
dafe58fc19
@ -3931,14 +3931,13 @@ again:
|
||||
/* Only allow structure for now, can be relaxed for
|
||||
* other types later.
|
||||
*/
|
||||
elem_type = btf_type_skip_modifiers(btf_vmlinux,
|
||||
array_elem->type, NULL);
|
||||
if (!btf_type_is_struct(elem_type))
|
||||
t = btf_type_skip_modifiers(btf_vmlinux, array_elem->type,
|
||||
NULL);
|
||||
if (!btf_type_is_struct(t))
|
||||
goto error;
|
||||
|
||||
off = (off - moff) % elem_type->size;
|
||||
return btf_struct_access(log, elem_type, off, size, atype,
|
||||
next_btf_id);
|
||||
off = (off - moff) % t->size;
|
||||
goto again;
|
||||
|
||||
error:
|
||||
bpf_log(log, "access beyond struct %s at off %u size %u\n",
|
||||
|
Loading…
Reference in New Issue
Block a user