selftests/bpf: Add test for non-NULLable PTR_TO_BTF_IDs
authorDavid Vernet <void@manifault.com>
Fri, 2 Jun 2023 15:01:12 +0000 (10:01 -0500)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 5 Jun 2023 21:36:57 +0000 (14:36 -0700)
commitf904c67876c42c14a108d7f80459ef59d900b8fc
tree8fed8b960bdd3c512dc66dea277a8c870f0e6fec
parent51302c951c8fd5c298565c7127c855bf1d4550b6
selftests/bpf: Add test for non-NULLable PTR_TO_BTF_IDs

In a recent patch, we taught the verifier that trusted PTR_TO_BTF_ID can
never be NULL. This prevents the verifier from incorrectly failing to
load certain programs where it gets confused and thinks a reference
isn't dropped because it incorrectly assumes that a branch exists in
which a NULL PTR_TO_BTF_ID pointer is never released.

This patch adds a testcase that verifies this cannot happen.

Signed-off-by: David Vernet <void@manifault.com>
Acked-by: Stanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/r/20230602150112.1494194-2-void@manifault.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/cpumask.c
tools/testing/selftests/bpf/progs/cpumask_success.c