[PATCH bpf-next v1 3/3] selftests/bpf: Test stack depth stats without BTF subprog names

Kumar Kartikeya Dwivedi <[email protected]> Sun, 2 Aug 2026 01:03:58 +0200
Newsgroups org.kernel.vger.bpf
Message-ID <[email protected]>
Test the case where we don't supply names for the subprogs.

Signed-off-by: Kumar Kartikeya Dwivedi <[email protected]>
---
 tools/testing/selftests/bpf/test_verifier.c  | 5 ++++-
 tools/testing/selftests/bpf/verifier/calls.c | 4 +++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
index a8ae03c57bba..61f0b2951bcd 100644
--- a/tools/testing/selftests/bpf/test_verifier.c
+++ b/tools/testing/selftests/bpf/test_verifier.c
@@ -133,6 +133,7 @@ struct bpf_test {
 	const char *errstr;
 	const char *errstr_unpriv;
 	uint32_t insn_processed;
+	uint32_t log_level;
 	int prog_len;
 	enum {
 		UNDEF,
@@ -1559,7 +1560,9 @@ static void do_test_single(struct bpf_test *test, bool unpriv,
 		       test->errstr_unpriv : test->errstr;
 
 	opts.expected_attach_type = test->expected_attach_type;
-	if (expected_ret == VERBOSE_ACCEPT)
+	if (test->log_level)
+		opts.log_level = test->log_level;
+	else if (expected_ret == VERBOSE_ACCEPT)
 		opts.log_level = 2;
 	else if (verbose)
 		opts.log_level = verif_log_level | 4; /* force stats */
diff --git a/tools/testing/selftests/bpf/verifier/calls.c b/tools/testing/selftests/bpf/verifier/calls.c
index 302d712e0d7e..1f7ca271e07a 100644
--- a/tools/testing/selftests/bpf/verifier/calls.c
+++ b/tools/testing/selftests/bpf/verifier/calls.c
@@ -1091,7 +1091,9 @@
 	/* stack_main=32, stack_A=256, stack_B=64
 	 * and max(main+A, main+A+B) < 512
 	 */
-	.result = ACCEPT,
+	.result = VERBOSE_ACCEPT,
+	.errstr = "stack depth subprog[0]=32 subprog[1]=256 subprog[2]=64 max=352",
+	.log_level = DEFAULT_LIBBPF_LOG_LEVEL,
 },
 {
 	"calls: stack depth check using three frames. test2",
-- 
2.53.0