* [PATCH] selftests/bpf: Add back removed kfuncs declarations
@ 2025-09-16 15:56 Xing Guo
2025-09-16 16:17 ` Martin KaFai Lau
0 siblings, 1 reply; 3+ messages in thread
From: Xing Guo @ 2025-09-16 15:56 UTC (permalink / raw)
To: bpf; +Cc: linux-kselftest, martin.lau, ameryhung, Xing Guo
These kfuncs are removed in commit 2f9838e25790
("selftests/bpf: Cleanup bpf qdisc selftests"), but they are still
referenced by multiple tests. Otherwise, we will get the following errors.
```
progs/bpf_qdisc_fail__incompl_ops.c:13:2: error: call to undeclared function 'bpf_qdisc_skb_drop'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
13 | bpf_qdisc_skb_drop(skb, to_free);
| ^
1 error generated.
progs/bpf_qdisc_fifo.c:38:3: error: call to undeclared function 'bpf_qdisc_skb_drop'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
38 | bpf_qdisc_skb_drop(skb, to_free);
| ^
progs/bpf_qdisc_fq.c:280:11: error: call to undeclared function 'bpf_skb_get_hash'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
280 | hash = bpf_skb_get_hash(skb) & q.orphan_mask;
| ^
progs/bpf_qdisc_fq.c:287:11: error: call to undeclared function 'bpf_skb_get_hash'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
287 | hash = bpf_skb_get_hash(skb) & q.orphan_mask;
| ^
progs/bpf_qdisc_fq.c:375:3: error: call to undeclared function 'bpf_qdisc_skb_drop'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
375 | bpf_qdisc_skb_drop(skb, to_free);
| ^
progs/bpf_qdisc_fifo.c:71:2: error: call to undeclared function 'bpf_qdisc_bstats_update'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
71 | bpf_qdisc_bstats_update(sch, skb);
| ^
progs/bpf_qdisc_fifo.c:106:4: error: call to undeclared function 'bpf_kfree_skb'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
106 | bpf_kfree_skb(skb);
| ^
3 errors generated.
progs/bpf_qdisc_fq.c:614:3: error: call to undeclared function 'bpf_qdisc_bstats_update'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
614 | bpf_qdisc_bstats_update(sch, skb);
| ^
progs/bpf_qdisc_fq.c:619:3: error: call to undeclared function 'bpf_qdisc_watchdog_schedule'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
619 | bpf_qdisc_watchdog_schedule(sch, cb_ctx.expire, q.timer_slack);
| ^
5 errors generated.
```
Fixes: 2f9838e25790 ("selftests/bpf: Cleanup bpf qdisc selftests")
Signed-off-by: Xing Guo <higuoxing@gmail.com>
---
tools/testing/selftests/bpf/progs/bpf_qdisc_common.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/testing/selftests/bpf/progs/bpf_qdisc_common.h b/tools/testing/selftests/bpf/progs/bpf_qdisc_common.h
index 3754f581b328..7e7f2fe04f22 100644
--- a/tools/testing/selftests/bpf/progs/bpf_qdisc_common.h
+++ b/tools/testing/selftests/bpf/progs/bpf_qdisc_common.h
@@ -14,6 +14,12 @@
struct bpf_sk_buff_ptr;
+u32 bpf_skb_get_hash(struct sk_buff *p) __ksym;
+void bpf_kfree_skb(struct sk_buff *p) __ksym;
+void bpf_qdisc_skb_drop(struct sk_buff *p, struct bpf_sk_buff_ptr *to_free) __ksym;
+void bpf_qdisc_watchdog_schedule(struct Qdisc *sch, u64 expire, u64 delta_ns) __ksym;
+void bpf_qdisc_bstats_update(struct Qdisc *sch, const struct sk_buff *skb) __ksym;
+
static struct qdisc_skb_cb *qdisc_skb_cb(const struct sk_buff *skb)
{
return (struct qdisc_skb_cb *)skb->cb;
--
2.51.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests/bpf: Add back removed kfuncs declarations
2025-09-16 15:56 [PATCH] selftests/bpf: Add back removed kfuncs declarations Xing Guo
@ 2025-09-16 16:17 ` Martin KaFai Lau
2025-09-17 2:00 ` Xing Guo
0 siblings, 1 reply; 3+ messages in thread
From: Martin KaFai Lau @ 2025-09-16 16:17 UTC (permalink / raw)
To: Xing Guo; +Cc: bpf, linux-kselftest, ameryhung
On 9/16/25 8:56 AM, Xing Guo wrote:
> These kfuncs are removed in commit 2f9838e25790
> ("selftests/bpf: Cleanup bpf qdisc selftests"), but they are still
> referenced by multiple tests. Otherwise, we will get the following errors.
They are declared in vmlinux.h which depends on a ~1 year old pahole. There are
other selftests also depends on the kfunc declared in vmlinux.h alone. Update
your pahole. There is nothing to fix.
pw-bot: cr
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests/bpf: Add back removed kfuncs declarations
2025-09-16 16:17 ` Martin KaFai Lau
@ 2025-09-17 2:00 ` Xing Guo
0 siblings, 0 replies; 3+ messages in thread
From: Xing Guo @ 2025-09-17 2:00 UTC (permalink / raw)
To: Martin KaFai Lau; +Cc: bpf, linux-kselftest, ameryhung
On Wed, Sep 17, 2025 at 12:17 AM Martin KaFai Lau <martin.lau@linux.dev> wrote:
>
> On 9/16/25 8:56 AM, Xing Guo wrote:
> > These kfuncs are removed in commit 2f9838e25790
> > ("selftests/bpf: Cleanup bpf qdisc selftests"), but they are still
> > referenced by multiple tests. Otherwise, we will get the following errors.
>
> They are declared in vmlinux.h which depends on a ~1 year old pahole. There are
> other selftests also depends on the kfunc declared in vmlinux.h alone. Update
> your pahole. There is nothing to fix.
Ah, silly me. I forgot to enable CONFIG_NET_SCH_BPF in my kernel
build. Thanks for the information!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-09-17 2:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-16 15:56 [PATCH] selftests/bpf: Add back removed kfuncs declarations Xing Guo
2025-09-16 16:17 ` Martin KaFai Lau
2025-09-17 2:00 ` Xing Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox