Commit bde8901ea142 for kernel

commit bde8901ea14244e7195a2d6b6aa2023b28d4233c
Author: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Date:   Sat Sep 5 03:47:34 2026 +0200

    selftests/bpf: Test pointer bpf_loop iteration count rejection

    Add a verifier test that leaves the raw tracepoint context pointer in R1
    when calling bpf_loop(). This is the smallest trigger for the incorrect
    precision backtracking: it reuses an existing callback and needs no maps or
    userspace setup.

    Expect an ordinary scalar-type rejection. Without the verifier fix, the
    test instead reaches precision backtracking and reports an internal
    "backtracking misuse" error.

    Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
    Acked-by: Eduard Zingerman <eddyz87@gmail.com>
    Link: https://patch.msgid.link/20260905014735.1452988-3-memxor@gmail.com
    Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>

diff --git a/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c b/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c
index 75dd922e4e9f..1fbcc5228306 100644
--- a/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c
+++ b/tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c
@@ -168,6 +168,23 @@ static int iter_limit_cb(__u32 idx, struct num_context *ctx)
 	return 0;
 }

+SEC("?raw_tp")
+__failure __msg("R1 type=ctx expected=scalar")
+__naked void bpf_loop_reject_pointer(void)
+{
+	asm volatile (
+		"r2 = %[iter_limit_cb];"
+		"r3 = 0;"
+		"r4 = 0;"
+		"call %[bpf_loop];"
+		"exit;"
+		:
+		: __imm_ptr(iter_limit_cb),
+		  __imm(bpf_loop)
+		: __clobber_common
+	);
+}
+
 SEC("?raw_tp")
 __success
 int bpf_loop_iter_limit_ok(void *unused)