[toke:xdp-queueing-04 6/12] net/core/filter.c:10530:31: sparse: sparse: symbol 'dequeue_verifier_ops' was not declared. Should it be static?

From: kernel test robot
Date: Sun Apr 10 2022 - 09:13:23 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git xdp-queueing-04
head: d67202baf237752a91366c8ba9bd801942e5fdaf
commit: 8a45b14641ca025c0927e9e7fd502c11125ae864 [6/12] xdp: add dequeue program type for getting packets from a PIFO
config: alpha-randconfig-s031-20220410 (https://download.01.org/0day-ci/archive/20220410/202204102150.YZdkMTrK-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git/commit/?id=8a45b14641ca025c0927e9e7fd502c11125ae864
git remote add toke https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git
git fetch --no-tags toke xdp-queueing-04
git checkout 8a45b14641ca025c0927e9e7fd502c11125ae864
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash net/core/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
net/core/filter.c:5931:9: sparse: sparse: switch with no cases
net/core/filter.c:5972:9: sparse: sparse: switch with no cases
net/core/filter.c:1410:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sock_filter const *filter @@ got struct sock_filter [noderef] __user *filter @@
net/core/filter.c:1410:39: sparse: expected struct sock_filter const *filter
net/core/filter.c:1410:39: sparse: got struct sock_filter [noderef] __user *filter
net/core/filter.c:1488:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sock_filter const *filter @@ got struct sock_filter [noderef] __user *filter @@
net/core/filter.c:1488:39: sparse: expected struct sock_filter const *filter
net/core/filter.c:1488:39: sparse: got struct sock_filter [noderef] __user *filter
net/core/filter.c:10496:31: sparse: sparse: symbol 'sk_filter_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10503:27: sparse: sparse: symbol 'sk_filter_prog_ops' was not declared. Should it be static?
net/core/filter.c:10507:31: sparse: sparse: symbol 'tc_cls_act_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10515:27: sparse: sparse: symbol 'tc_cls_act_prog_ops' was not declared. Should it be static?
net/core/filter.c:10519:31: sparse: sparse: symbol 'xdp_verifier_ops' was not declared. Should it be static?
>> net/core/filter.c:10530:31: sparse: sparse: symbol 'dequeue_verifier_ops' was not declared. Should it be static?
>> net/core/filter.c:10537:27: sparse: sparse: symbol 'dequeue_prog_ops' was not declared. Should it be static?
net/core/filter.c:10541:31: sparse: sparse: symbol 'cg_skb_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10547:27: sparse: sparse: symbol 'cg_skb_prog_ops' was not declared. Should it be static?
net/core/filter.c:10551:31: sparse: sparse: symbol 'lwt_in_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10557:27: sparse: sparse: symbol 'lwt_in_prog_ops' was not declared. Should it be static?
net/core/filter.c:10561:31: sparse: sparse: symbol 'lwt_out_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10567:27: sparse: sparse: symbol 'lwt_out_prog_ops' was not declared. Should it be static?
net/core/filter.c:10571:31: sparse: sparse: symbol 'lwt_xmit_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10578:27: sparse: sparse: symbol 'lwt_xmit_prog_ops' was not declared. Should it be static?
net/core/filter.c:10582:31: sparse: sparse: symbol 'lwt_seg6local_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10588:27: sparse: sparse: symbol 'lwt_seg6local_prog_ops' was not declared. Should it be static?
net/core/filter.c:10592:31: sparse: sparse: symbol 'cg_sock_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10598:27: sparse: sparse: symbol 'cg_sock_prog_ops' was not declared. Should it be static?
net/core/filter.c:10601:31: sparse: sparse: symbol 'cg_sock_addr_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10607:27: sparse: sparse: symbol 'cg_sock_addr_prog_ops' was not declared. Should it be static?
net/core/filter.c:10610:31: sparse: sparse: symbol 'sock_ops_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10616:27: sparse: sparse: symbol 'sock_ops_prog_ops' was not declared. Should it be static?
net/core/filter.c:10619:31: sparse: sparse: symbol 'sk_skb_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10626:27: sparse: sparse: symbol 'sk_skb_prog_ops' was not declared. Should it be static?
net/core/filter.c:10629:31: sparse: sparse: symbol 'sk_msg_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10636:27: sparse: sparse: symbol 'sk_msg_prog_ops' was not declared. Should it be static?
net/core/filter.c:10639:31: sparse: sparse: symbol 'flow_dissector_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10645:27: sparse: sparse: symbol 'flow_dissector_prog_ops' was not declared. Should it be static?
net/core/filter.c:246:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:246:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:246:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:246:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:273:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:273:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:273:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:273:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:273:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:273:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:1909:43: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] diff @@ got unsigned long long [usertype] to @@
net/core/filter.c:1909:43: sparse: expected restricted __wsum [usertype] diff
net/core/filter.c:1909:43: sparse: got unsigned long long [usertype] to
net/core/filter.c:1912:36: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be16 [usertype] old @@ got unsigned long long [usertype] from @@
net/core/filter.c:1912:36: sparse: expected restricted __be16 [usertype] old
net/core/filter.c:1912:36: sparse: got unsigned long long [usertype] from
net/core/filter.c:1912:42: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be16 [usertype] new @@ got unsigned long long [usertype] to @@
net/core/filter.c:1912:42: sparse: expected restricted __be16 [usertype] new
net/core/filter.c:1912:42: sparse: got unsigned long long [usertype] to
net/core/filter.c:1915:36: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be32 [usertype] from @@ got unsigned long long [usertype] from @@
net/core/filter.c:1915:36: sparse: expected restricted __be32 [usertype] from
net/core/filter.c:1915:36: sparse: got unsigned long long [usertype] from
net/core/filter.c:1915:42: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be32 [usertype] to @@ got unsigned long long [usertype] to @@
net/core/filter.c:1915:42: sparse: expected restricted __be32 [usertype] to
net/core/filter.c:1915:42: sparse: got unsigned long long [usertype] to
net/core/filter.c:1960:59: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __wsum [usertype] diff @@ got unsigned long long [usertype] to @@
net/core/filter.c:1960:59: sparse: expected restricted __wsum [usertype] diff
net/core/filter.c:1960:59: sparse: got unsigned long long [usertype] to
net/core/filter.c:1963:52: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be16 [usertype] from @@ got unsigned long long [usertype] from @@
net/core/filter.c:1963:52: sparse: expected restricted __be16 [usertype] from
net/core/filter.c:1963:52: sparse: got unsigned long long [usertype] from
net/core/filter.c:1963:58: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be16 [usertype] to @@ got unsigned long long [usertype] to @@
net/core/filter.c:1963:58: sparse: expected restricted __be16 [usertype] to
net/core/filter.c:1963:58: sparse: got unsigned long long [usertype] to
net/core/filter.c:1966:52: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be32 [usertype] from @@ got unsigned long long [usertype] from @@
net/core/filter.c:1966:52: sparse: expected restricted __be32 [usertype] from
net/core/filter.c:1966:52: sparse: got unsigned long long [usertype] from
net/core/filter.c:1966:58: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 [usertype] to @@ got unsigned long long [usertype] to @@
net/core/filter.c:1966:58: sparse: expected restricted __be32 [usertype] to
net/core/filter.c:1966:58: sparse: got unsigned long long [usertype] to
net/core/filter.c:2012:28: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long long @@ got restricted __wsum @@
net/core/filter.c:2012:28: sparse: expected unsigned long long
net/core/filter.c:2012:28: sparse: got restricted __wsum
net/core/filter.c:2034:35: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long long @@ got restricted __wsum [usertype] csum @@
net/core/filter.c:2034:35: sparse: expected unsigned long long
net/core/filter.c:2034:35: sparse: got restricted __wsum [usertype] csum

vim +/dequeue_verifier_ops +10530 net/core/filter.c

10529
10530 const struct bpf_verifier_ops dequeue_verifier_ops = {
10531 .get_func_proto = dequeue_func_proto,
10532 .is_valid_access = dequeue_is_valid_access,
10533 .convert_ctx_access = dequeue_convert_ctx_access,
10534 .gen_prologue = bpf_noop_prologue,
10535 };
10536
10537 const struct bpf_prog_ops dequeue_prog_ops = {
10538 .test_run = bpf_prog_test_run_dequeue,
10539 };
10540

--
0-DAY CI Kernel Test Service
https://01.org/lkp