net/core/filter.c:11662:17: error: no previous declaration for 'bpf_dynptr_from_xdp'

From: kernel test robot
Date: Fri Sep 22 2023 - 20:50:04 EST


Hi Joanne,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d90b0276af8f25a0b8ae081a30d1b2a61263393b
commit: 05421aecd4ed65da0dc17b0c3c13779ef334e9e5 bpf: Add xdp dynptrs
date: 7 months ago
config: x86_64-sof-customedconfig-avs-defconfig (https://download.01.org/0day-ci/archive/20230923/202309230815.jkPv5f5j-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230923/202309230815.jkPv5f5j-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309230815.jkPv5f5j-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

net/core/filter.c:11649:17: error: no previous declaration for 'bpf_dynptr_from_skb' [-Werror=missing-declarations]
__bpf_kfunc int bpf_dynptr_from_skb(struct sk_buff *skb, u64 flags,
^~~~~~~~~~~~~~~~~~~
>> net/core/filter.c:11662:17: error: no previous declaration for 'bpf_dynptr_from_xdp' [-Werror=missing-declarations]
__bpf_kfunc int bpf_dynptr_from_xdp(struct xdp_buff *xdp, u64 flags,
^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors


vim +/bpf_dynptr_from_xdp +11662 net/core/filter.c

11645
11646 __diag_push();
11647 __diag_ignore_all("-Wmissing-prototypes",
11648 "Global functions as their definitions will be in vmlinux BTF");
11649 __bpf_kfunc int bpf_dynptr_from_skb(struct sk_buff *skb, u64 flags,
11650 struct bpf_dynptr_kern *ptr__uninit)
11651 {
11652 if (flags) {
11653 bpf_dynptr_set_null(ptr__uninit);
11654 return -EINVAL;
11655 }
11656
11657 bpf_dynptr_init(ptr__uninit, skb, BPF_DYNPTR_TYPE_SKB, 0, skb->len);
11658
11659 return 0;
11660 }
11661
11662 __bpf_kfunc int bpf_dynptr_from_xdp(struct xdp_buff *xdp, u64 flags,
11663 struct bpf_dynptr_kern *ptr__uninit)
11664 {
11665 if (flags) {
11666 bpf_dynptr_set_null(ptr__uninit);
11667 return -EINVAL;
11668 }
11669
11670 bpf_dynptr_init(ptr__uninit, xdp, BPF_DYNPTR_TYPE_XDP, 0, xdp_get_buff_len(xdp));
11671
11672 return 0;
11673 }
11674 __diag_pop();
11675

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki