On Sun, May 3, 2020 at 11:26 PM Yonghong Song <y...@fb.com> wrote:
>
> Add bpf_reg_type PTR_TO_BTF_ID_OR_NULL support.
> For tracing/iter program, the bpf program context
> definition, e.g., for previous bpf_map target, looks like
>   struct bpf_iter__bpf_map {
>     struct bpf_iter_meta *meta;
>     struct bpf_map *map;
>   };
>
> The kernel guarantees that meta is not NULL, but
> map pointer maybe NULL. The NULL map indicates that all
> objects have been traversed, so bpf program can take
> proper action, e.g., do final aggregation and/or send
> final report to user space.
>
> Add btf_id_or_null_non0_off to prog->aux structure, to
> indicate that if the context access offset is not 0,
> set to PTR_TO_BTF_ID_OR_NULL instead of PTR_TO_BTF_ID.
> This bit is set for tracing/iter program.
>
> Signed-off-by: Yonghong Song <y...@fb.com>
> ---

LGTM.

Acked-by: Andrii Nakryiko <andr...@fb.com>

>  include/linux/bpf.h   |  2 ++
>  kernel/bpf/btf.c      |  5 ++++-
>  kernel/bpf/verifier.c | 16 ++++++++++++----
>  3 files changed, 18 insertions(+), 5 deletions(-)
>

[...]

Reply via email to