From: kernel test robot <lkp@intel.com>
To: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
"Toke Høiland-Jørgensen" <toke@redhat.com>
Subject: [toke:xdp-queueing-03 7/9] net/core/filter.c:9736:14: error: implicit declaration of function 'bpf_get_btf_vmlinux'
Date: Fri, 11 Mar 2022 21:42:59 +0800 [thread overview]
Message-ID: <202203112129.UHn4ulpB-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git xdp-queueing-03
head: 91c92d46077f70b03fd162128dd3373663d529d4
commit: 9bae1dad48ccbee1a035d242a407ea54a29ae2c9 [7/9] bpf: Enable direct packet access for dequeue packets
config: arc-buildonly-randconfig-r002-20220310 (https://download.01.org/0day-ci/archive/20220311/202203112129.UHn4ulpB-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git/commit/?id=9bae1dad48ccbee1a035d242a407ea54a29ae2c9
git remote add toke https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git
git fetch --no-tags toke xdp-queueing-03
git checkout 9bae1dad48ccbee1a035d242a407ea54a29ae2c9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash net/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
net/core/filter.c:9727:5: warning: no previous prototype for 'dequeue_btf_struct_access' [-Wmissing-prototypes]
9727 | int dequeue_btf_struct_access(struct bpf_verifier_log *log,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
net/core/filter.c: In function 'dequeue_btf_struct_access':
>> net/core/filter.c:9736:14: error: implicit declaration of function 'bpf_get_btf_vmlinux' [-Werror=implicit-function-declaration]
9736 | if (!bpf_get_btf_vmlinux() || btf != bpf_get_btf_vmlinux())
| ^~~~~~~~~~~~~~~~~~~
net/core/filter.c:9736:43: warning: comparison between pointer and integer
9736 | if (!bpf_get_btf_vmlinux() || btf != bpf_get_btf_vmlinux())
| ^~
net/core/filter.c:9744:35: warning: passing argument 1 of 'btf_type_by_id' makes pointer from integer without a cast [-Wint-conversion]
9744 | pkt_type = btf_type_by_id(bpf_get_btf_vmlinux(), xdp_md_btf_ids[0]);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from net/core/filter.c:50:
include/linux/btf.h:348:71: note: expected 'const struct btf *' but argument is of type 'int'
348 | static inline const struct btf_type *btf_type_by_id(const struct btf *btf,
| ~~~~~~~~~~~~~~~~~~^~~
>> net/core/filter.c:9748:24: error: implicit declaration of function 'btf_struct_access'; did you mean 'dequeue_btf_struct_access'? [-Werror=implicit-function-declaration]
9748 | return btf_struct_access(log, btf, t, off, size, atype,
| ^~~~~~~~~~~~~~~~~
| dequeue_btf_struct_access
net/core/filter.c: In function 'dequeue_get_convert_ctx_access':
net/core/filter.c:9861:43: warning: comparison between pointer and integer
9861 | if (!bpf_get_btf_vmlinux() || btf != bpf_get_btf_vmlinux())
| ^~
cc1: some warnings being treated as errors
vim +/bpf_get_btf_vmlinux +9736 net/core/filter.c
9726
9727 int dequeue_btf_struct_access(struct bpf_verifier_log *log,
9728 const struct btf *btf,
9729 const struct btf_type *t, int off, int size,
9730 enum bpf_access_type atype,
9731 u32 *next_btf_id, enum bpf_type_flag *flag)
9732 {
9733 const struct btf_type *pkt_type;
9734 enum bpf_reg_type reg_type;
9735
> 9736 if (!bpf_get_btf_vmlinux() || btf != bpf_get_btf_vmlinux())
9737 return -EINVAL;
9738
9739 if (atype != BPF_READ) {
9740 bpf_log(log, "only read is supported\n");
9741 return -EACCES;
9742 }
9743
9744 pkt_type = btf_type_by_id(bpf_get_btf_vmlinux(), xdp_md_btf_ids[0]);
9745 if (!pkt_type)
9746 return -EINVAL;
9747 if (t != pkt_type)
> 9748 return btf_struct_access(log, btf, t, off, size, atype,
9749 next_btf_id, flag);
9750
9751 switch (off) {
9752 case offsetof(struct xdp_md, data):
9753 reg_type = PTR_TO_PACKET;
9754 break;
9755 case offsetof(struct xdp_md, data_meta):
9756 reg_type = PTR_TO_PACKET_META;
9757 break;
9758 case offsetof(struct xdp_md, data_end):
9759 reg_type = PTR_TO_PACKET_END;
9760 break;
9761 default:
9762 bpf_log(log, "only access to data, data_meta, and data_end allowed for xdp_md\n");
9763 return -EACCES;
9764 }
9765
9766 if (!__is_valid_xdp_access(off, size)) {
9767 bpf_log(log, "invalid xdp_md access off=%d size=%d\n", off, size);
9768 return -EINVAL;
9769 }
9770 return reg_type;
9771 }
9772
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
reply other threads:[~2022-03-11 13:43 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202203112129.UHn4ulpB-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=memxor@gmail.com \
--cc=toke@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.