]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/bpf: Test passing scalar NULL to nonnull global subprog
authorAmery Hung <ameryhung@gmail.com>
Thu, 23 Jul 2026 22:18:15 +0000 (15:18 -0700)
committerEduard Zingerman <eddyz87@gmail.com>
Thu, 23 Jul 2026 23:09:08 +0000 (16:09 -0700)
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>
tools/testing/selftests/bpf/progs/verifier_global_subprogs.c

index 75a2e3f48d0f474b11914b3741b6ee796c3ccbde..67dc352addfd7330741bffddc830949605d100ed 100644 (file)
@@ -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
  */