BTF size resolution logic isn't always resolving type size correctly, leading to erroneous map creation failures due to value size mismatch. This patch set: 1. fixes the issue (patch #1); 2. adds tests for trickier cases (patch #2); 3. and converts few test cases utilizing BTF-defined maps, that previously couldn't use typedef'ed arrays due to kernel bug (patch #3). Patch #1 can be applied against bpf tree, but selftest ones (#2 and #3) have to go against bpf-next for now. Andrii Nakryiko (3): bpf: fix BTF verifier size resolution logic selftests/bpf: add trickier size resolution tests selftests/bpf: use typedef'ed arrays as map values kernel/bpf/btf.c | 14 ++- .../bpf/progs/test_get_stack_rawtp.c | 3 +- .../bpf/progs/test_stacktrace_build_id.c | 3 +- .../selftests/bpf/progs/test_stacktrace_map.c | 2 +- tools/testing/selftests/bpf/test_btf.c | 88 +++++++++++++++++++ 5 files changed, 102 insertions(+), 8 deletions(-) -- 2.17.1