On Fri, 2025-09-05 at 17:45 +0100, Mykyta Yatsenko wrote: > From: Mykyta Yatsenko > > Refactor the verifier by pulling the common logic from > process_timer_func() into a dedicated helper. This allows reusing > process_async_func() helper for verifying bpf_task_work struct in the > next patch. > > Signed-off-by: Mykyta Yatsenko > --- The discrepancy between bpf_call_arg_meta and bpf_kfunc_call_arg_meta is unfortunate. Maybe the bigger refactoring is possible. Wdyt about avoiding pointers to pointers and accepting some code duplication for now? E.g. rename process_async_func: /* Check if @regno is a pointer to a specific field in a map value */ static int check_map_field_pointer(struct bpf_verifier_env *env, u32 regno, enum btf_field_type field_type, u32 field_off) And proceed as in the attached patch? [...]