Re: [PATCH bpf-next v3 07/13] bpf: Migrate bpf_wq_set_callback_impl() to KF_IMPLICIT_ARGS

From: bot+bpf-ci

Date: Tue Jan 20 2026 - 17:55:20 EST


> diff --git a/tools/testing/selftests/bpf/bpf_experimental.h b/tools/testing/selftests/bpf/bpf_experimental.h
> index 2cd9165c7348..68a49b1f77ae 100644
> --- a/tools/testing/selftests/bpf/bpf_experimental.h
> +++ b/tools/testing/selftests/bpf/bpf_experimental.h
> @@ -580,11 +580,6 @@ extern void bpf_iter_css_destroy(struct bpf_iter_css *it) __weak __ksym;
>
> extern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym;
> extern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym;
> -extern int bpf_wq_set_callback_impl(struct bpf_wq *wq,
> - int (callback_fn)(void *map, int *key, void *value),
> - unsigned int flags__k, void *aux__ign) __ksym;
> -#define bpf_wq_set_callback(timer, cb, flags) \
> - bpf_wq_set_callback_impl(timer, cb, flags, NULL)

The old bpf_wq_set_callback_impl declaration and bpf_wq_set_callback macro
are removed here, but there does not appear to be a replacement declaration
for the new bpf_wq_set_callback kfunc.

Test files wq.c and wq_failures.c include bpf_experimental.h but do not
include vmlinux.h. They continue to call bpf_wq_set_callback() after this
change. Without an extern declaration such as:

extern int bpf_wq_set_callback(struct bpf_wq *wq,
int (callback_fn)(void *map, int *key, void *value),
unsigned int flags) __weak __ksym;

should these test files fail to compile due to the missing declaration?
The kfunc_implicit_args.c test (from the earlier commit in this series)
demonstrates that explicit __ksym declarations are needed for kfuncs that
are not obtained from vmlinux.h.

[ ... ]


---
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/21190053819