Re: [PATCH bpf 1/2] bpf: Revalidate iterator programs on link update

From: bot+bpf-ci

Date: Thu Oct 08 2026 - 13:16:20 EST


> bpf: Revalidate iterator programs on link update

TL;DR: Nit only: Documentation/bpf/bpf_iterators.rst may need updating for the
new validate_target callback in struct bpf_iter_reg and for when it is invoked
(BPF_LINK_UPDATE only). No code problems reported.

> diff --git a/include/linux/bpf.h b/include/linux/bpf.h
> index 0ecb9418dfbd..5aa786eba3ea 100644
> --- a/include/linux/bpf.h
> +++ b/include/linux/bpf.h

[ ... ]

> @@ -3024,6 +3026,7 @@ enum bpf_iter_feature {
> struct bpf_iter_reg {
> const char *target;
> bpf_iter_attach_target_t attach_target;
> + bpf_iter_validate_target_t validate_target;
> bpf_iter_detach_target_t detach_target;
> bpf_iter_show_fdinfo_t show_fdinfo;
> bpf_iter_fill_link_info_t fill_link_info;

This isn't a bug, but should Documentation/bpf/bpf_iterators.rst be updated
for the new member?

That file carries a copy of struct bpf_iter_reg that listed attach_target
and detach_target exactly as they appeared in this header before the patch:

bpf_iter_attach_target_t attach_target;
bpf_iter_detach_target_t detach_target;

It now lacks validate_target.

The field table in the same file also describes the callbacks as:

attach_target and detach_target
Allows for target specific link_create action since some targets may
need special processing. Called during the user space link_create
stage.

Nothing there says that validate_target is invoked only from
bpf_iter_link_replace() (BPF_LINK_UPDATE), and that a target's
attach_target has to call its validator itself at link_create time, since
bpf_iter_link_attach() does not call it generically.

A new iterator author working from the documentation would not learn that
program-dependent checks belong in validate_target as well as in
attach_target.

Should the struct listing and the field table describe validate_target and
when it is invoked?


---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md

CI run summary: https://github.com/kernel-patches/bpf/actions/runs/37809581821