OSDN Git Service

bpf: Remember BTF of inner maps.
authorAlexei Starovoitov <ast@kernel.org>
Thu, 15 Jul 2021 00:54:12 +0000 (17:54 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 15 Jul 2021 20:31:10 +0000 (22:31 +0200)
commit40ec00abf1cc92268e3e3320b36bbb33b2224808
tree6b2ddc3f44fcddb40b369cec355966ce9d2f2925
parent3e8ce29850f1839d0603f925b30be9d8a4329917
bpf: Remember BTF of inner maps.

BTF is required for 'struct bpf_timer' to be recognized inside map value.
The bpf timers are supported inside inner maps.
Remember 'struct btf *' in inner_map_meta to make it available
to the verifier in the sequence:

struct bpf_map *inner_map = bpf_map_lookup_elem(&outer_map, ...);
if (inner_map)
    timer = bpf_map_lookup_elem(&inner_map, ...);

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Yonghong Song <yhs@fb.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/bpf/20210715005417.78572-7-alexei.starovoitov@gmail.com
kernel/bpf/map_in_map.c