[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <610057f2-eeaa-4007-a3bd-68d8b034d428@linux.dev>
Date: Tue, 20 Jan 2026 15:04:01 -0800
From: Ihor Solodrai <ihor.solodrai@...ux.dev>
To: bot+bpf-ci@...nel.org, ast@...nel.org, daniel@...earbox.net,
andrii@...nel.org, martin.lau@...ux.dev, eddyz87@...il.com
Cc: yatsenko@...a.com, tj@...nel.org, alan.maguire@...cle.com,
bentiss@...nel.org, jikos@...nel.org, ameryhung@...il.com,
bpf@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-input@...r.kernel.org, sched-ext@...ts.linux.dev,
martin.lau@...nel.org, yonghong.song@...ux.dev, clm@...a.com
Subject: Re: [PATCH bpf-next v3 07/13] bpf: Migrate bpf_wq_set_callback_impl()
to KF_IMPLICIT_ARGS
On 1/20/26 2:55 PM, bot+bpf-ci@...nel.org wrote:
>> 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
Looks like AI failed to notice, that vmlinux.h is included in
bpf_experimental.h
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/bpf_experimental.h#n4
So the old extern declaration of bpf_wq_set_callback_impl() wasn't
necessary too, although the macro was.
> 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
Powered by blists - more mailing lists