Message ID | 20240708-fix-wq-v2-0-667e5c9fbd99@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | Small API fix for bpf_wq | expand |
Hello: This series was applied to bpf/bpf-next.git (master) by Alexei Starovoitov <ast@kernel.org>: On Mon, 08 Jul 2024 11:52:56 +0200 you wrote: > I realized this while having a map containing both a struct bpf_timer and > a struct bpf_wq: the third argument provided to the bpf_wq callback is > not the struct bpf_wq pointer itself, but the pointer to the value in > the map. > > Which means that the users need to double cast the provided "value" as > this is not a struct bpf_wq *. > > [...] Here is the summary with links: - [bpf-next,v2,1/2] bpf: helpers: fix bpf_wq_set_callback_impl signature https://git.kernel.org/bpf/bpf-next/c/f56f4d541eab - [bpf-next,v2,2/2] selftests/bpf: amend for wrong bpf_wq_set_callback_impl signature https://git.kernel.org/bpf/bpf-next/c/16e86f2e8199 You are awesome, thank you!
I realized this while having a map containing both a struct bpf_timer and a struct bpf_wq: the third argument provided to the bpf_wq callback is not the struct bpf_wq pointer itself, but the pointer to the value in the map. Which means that the users need to double cast the provided "value" as this is not a struct bpf_wq *. This is a change of API, but there doesn't seem to be much users of bpf_wq right now, so we should be able to go with this right now. Signed-off-by: Benjamin Tissoires <bentiss@kernel.org> --- Changes in v2: - amended the selftests to retrieve something from the third argument of the callback - Link to v1: https://lore.kernel.org/r/20240705-fix-wq-v1-0-91b4d82cd825@kernel.org --- Benjamin Tissoires (2): bpf: helpers: fix bpf_wq_set_callback_impl signature selftests/bpf: amend for wrong bpf_wq_set_callback_impl signature kernel/bpf/helpers.c | 2 +- tools/testing/selftests/bpf/bpf_experimental.h | 2 +- tools/testing/selftests/bpf/progs/wq.c | 19 ++++++++++++++----- tools/testing/selftests/bpf/progs/wq_failures.c | 4 ++-- 4 files changed, 18 insertions(+), 9 deletions(-) --- base-commit: fd8db07705c55a995c42b1e71afc42faad675b0b change-id: 20240705-fix-wq-f069c7fb36c3 Best regards,