Re: [PATCH bpf-next v4 1/2] bpf: Support new pointer param types via SCALAR_VALUE for trampolines

From: Eduard Zingerman

Date: Tue Mar 03 2026 - 15:08:15 EST


On Tue, 2026-03-03 at 20:54 +1100, Slava Imameev wrote:

[...]

> @@ -6902,11 +6921,7 @@ bool btf_ctx_access(int off, int size, enum bpf_access_type type,
> }
> }
>
> - /*
> - * If it's a pointer to void, it's the same as scalar from the verifier
> - * safety POV. Either way, no futher pointer walking is allowed.
> - */
> - if (is_void_or_int_ptr(btf, t))
> + if (is_ptr_treated_as_scalar(btf, t))
> return true;

I'm probably missing a point here, but what's wrong with Alexei's
suggestion to do this instead:

if (is_ptr_treated_as_scalar(btf, t))
return true;
?

Only two new tests fail:
- #554/62 verifier_ctx_ptr_param/fentry/pointer to float - invalid ctx access:FAIL
- #554/63 verifier_ctx_ptr_param/fentry/double pointer to float - invalid ctx access:FAIL

But I'd say this shouldn't matter.
This will also make selftests much simpler.

>
> /* this is a pointer to another type */