summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmery Hung <ameryhung@gmail.com>2026-07-23 15:18:15 -0700
committerEduard Zingerman <eddyz87@gmail.com>2026-07-23 16:09:08 -0700
commit55c7bd2ddee50fd37b3b4c0b7a76bb0fd565f38b (patch)
treea80308884b5fe7d14b54e19a60e43f219a06359f
parent289e680c89ae8a0bb629fa8308313f5c8c6c76a3 (diff)
downloadlinux-55c7bd2ddee50fd37b3b4c0b7a76bb0fd565f38b.tar.gz
linux-55c7bd2ddee50fd37b3b4c0b7a76bb0fd565f38b.tar.bz2
linux-55c7bd2ddee50fd37b3b4c0b7a76bb0fd565f38b.zip
selftests/bpf: Test passing scalar NULL to nonnull global subprog
Make sure the verifier reject passing a hardcoded NULL to an __arg_nonnull argument. Signed-off-by: Amery Hung <ameryhung@gmail.com> Link: https://patch.msgid.link/20260723221815.367797-2-ameryhung@gmail.com Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
-rw-r--r--tools/testing/selftests/bpf/progs/verifier_global_subprogs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/verifier_global_subprogs.c b/tools/testing/selftests/bpf/progs/verifier_global_subprogs.c
index 75a2e3f48d0f..67dc352addfd 100644
--- a/tools/testing/selftests/bpf/progs/verifier_global_subprogs.c
+++ b/tools/testing/selftests/bpf/progs/verifier_global_subprogs.c
@@ -185,6 +185,16 @@ int arg_tag_nonnull_ptr_good(void *ctx)
return subprog_nonnull_ptr_good(&x, &y);
}
+SEC("?raw_tp")
+__failure __log_level(2)
+__msg("R1 is expected to be non-NULL")
+int arg_tag_nonnull_ptr_null_bad(void *ctx)
+{
+ int y = 74;
+
+ return subprog_nonnull_ptr_good(NULL, &y);
+}
+
/* this global subprog can be now called from many types of entry progs, each
* with different context type
*/