lkml.org 
[lkml]   [2022]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[congwang:sch_bpf 3/4] net/sched/sch_bpf.c:120:19: sparse: sparse: incompatible types in comparison expression (different address spaces):
tree:   https://github.com/congwang/linux.git sch_bpf
head: 59219ec0c11347c742ce9c432a733036eb4ed9c9
commit: 1d25d83ca077206d9665b3491b722068de876a73 [3/4] net_sched: introduce eBPF based Qdisc
config: powerpc-randconfig-s032-20220524 (https://download.01.org/0day-ci/archive/20220526/202205261859.oX2Ndm8n-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.3.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-14-g5a0004b5-dirty
# https://github.com/congwang/linux/commit/1d25d83ca077206d9665b3491b722068de876a73
git remote add congwang https://github.com/congwang/linux.git
git fetch --no-tags congwang sch_bpf
git checkout 1d25d83ca077206d9665b3491b722068de876a73
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash net/sched/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> net/sched/sch_bpf.c:120:19: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> net/sched/sch_bpf.c:120:19: sparse: struct bpf_prog [noderef] __rcu *
>> net/sched/sch_bpf.c:120:19: sparse: struct bpf_prog *
net/sched/sch_bpf.c:166:19: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/sched/sch_bpf.c:166:19: sparse: struct bpf_prog [noderef] __rcu *
net/sched/sch_bpf.c:166:19: sparse: struct bpf_prog *

vim +120 net/sched/sch_bpf.c

109
110 static int sch_bpf_enqueue(struct sk_buff *skb, struct Qdisc *sch,
111 struct sk_buff **to_free)
112 {
113 struct sch_bpf_qdisc *q = qdisc_priv(sch);
114 unsigned int len = qdisc_pkt_len(skb);
115 struct sch_bpf_ctx ctx = {};
116 struct sch_bpf_class *cl;
117 int res = NET_XMIT_SUCCESS;
118 struct bpf_prog *enqueue;
119
> 120 enqueue = rcu_dereference(q->enqueue_prog.prog);
121 bpf_compute_data_pointers(skb);
122 ctx.skb = (struct __sk_buff *)skb;
123 ctx.classid = sch->handle;
124 res = bpf_prog_run(enqueue, &ctx);
125 switch (res) {
126 case SCH_BPF_DROP:
127 __qdisc_drop(skb, to_free);
128 return NET_XMIT_DROP;
129 case SCH_BPF_QUEUED:
130 return NET_XMIT_SUCCESS;
131 }
132
133 cl = sch_bpf_find(sch, ctx.classid);
134 if (!cl || !cl->qdisc) {
135 if (res & __NET_XMIT_BYPASS)
136 qdisc_qstats_drop(sch);
137 __qdisc_drop(skb, to_free);
138 return res;
139 }
140
141 res = qdisc_enqueue(skb, cl->qdisc, to_free);
142 if (res != NET_XMIT_SUCCESS) {
143 if (net_xmit_drop_count(res)) {
144 qdisc_qstats_drop(sch);
145 cl->drops++;
146 }
147 return res;
148 }
149
150 sch->qstats.backlog += len;
151 sch->q.qlen++;
152 return res;
153 }
154

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

\
 
 \ /
  Last update: 2022-05-26 12:48    [W:0.025 / U:0.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site