[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202506280351.g258QPQS-lkp@intel.com>
Date: Sat, 28 Jun 2025 03:10:18 +0800
From: kernel test robot <lkp@...el.com>
To: Amery Hung <amery.hung@...edance.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Martin KaFai Lau <martin.lau@...nel.org>
Subject: net/sched/bpf_qdisc.c:224:18: sparse: sparse: symbol
'bpf_qdisc_init_prologue' was not declared. Should it be static?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e540341508ce2f6e27810106253d5de194b66750
commit: 7a2dafda950b78611dc441c83d105dfdc7082681 bpf: net_sched: Add a qdisc watchdog timer
date: 2 months ago
config: powerpc64-randconfig-r113-20250627 (https://download.01.org/0day-ci/archive/20250628/202506280351.g258QPQS-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 13.3.0
reproduce: (https://download.01.org/0day-ci/archive/20250628/202506280351.g258QPQS-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506280351.g258QPQS-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> net/sched/bpf_qdisc.c:224:18: sparse: sparse: symbol 'bpf_qdisc_init_prologue' was not declared. Should it be static?
>> net/sched/bpf_qdisc.c:234:18: sparse: sparse: symbol 'bpf_qdisc_reset_destroy_epilogue' was not declared. Should it be static?
vim +/bpf_qdisc_init_prologue +224 net/sched/bpf_qdisc.c
184
185 /* bpf_skb_get_hash - Get the flow hash of an skb.
186 * @skb: The skb to get the flow hash from.
187 */
> 188 __bpf_kfunc u32 bpf_skb_get_hash(struct sk_buff *skb)
189 {
190 return skb_get_hash(skb);
191 }
192
193 /* bpf_kfree_skb - Release an skb's reference and drop it immediately.
194 * @skb: The skb whose reference to be released and dropped.
195 */
196 __bpf_kfunc void bpf_kfree_skb(struct sk_buff *skb)
197 {
198 kfree_skb(skb);
199 }
200
201 /* bpf_qdisc_skb_drop - Drop an skb by adding it to a deferred free list.
202 * @skb: The skb whose reference to be released and dropped.
203 * @to_free_list: The list of skbs to be dropped.
204 */
205 __bpf_kfunc void bpf_qdisc_skb_drop(struct sk_buff *skb,
206 struct bpf_sk_buff_ptr *to_free_list)
207 {
208 __qdisc_drop(skb, (struct sk_buff **)to_free_list);
209 }
210
211 /* bpf_qdisc_watchdog_schedule - Schedule a qdisc to a later time using a timer.
212 * @sch: The qdisc to be scheduled.
213 * @expire: The expiry time of the timer.
214 * @delta_ns: The slack range of the timer.
215 */
216 __bpf_kfunc void bpf_qdisc_watchdog_schedule(struct Qdisc *sch, u64 expire, u64 delta_ns)
217 {
218 struct bpf_sched_data *q = qdisc_priv(sch);
219
220 qdisc_watchdog_schedule_range_ns(&q->watchdog, expire, delta_ns);
221 }
222
223 /* bpf_qdisc_init_prologue - Hidden kfunc called in prologue of .init. */
> 224 __bpf_kfunc void bpf_qdisc_init_prologue(struct Qdisc *sch)
225 {
226 struct bpf_sched_data *q = qdisc_priv(sch);
227
228 qdisc_watchdog_init(&q->watchdog, sch);
229 }
230
231 /* bpf_qdisc_reset_destroy_epilogue - Hidden kfunc called in epilogue of .reset
232 * and .destroy
233 */
> 234 __bpf_kfunc void bpf_qdisc_reset_destroy_epilogue(struct Qdisc *sch)
235 {
236 struct bpf_sched_data *q = qdisc_priv(sch);
237
238 qdisc_watchdog_cancel(&q->watchdog);
239 }
240
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists