BPF List
 help / color / mirror / Atom feed
* [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