Re: [PATCH RFC bpf-next 1/2] bpf_redirect_neigh: Support supplying the nexthop as a helper parameter
by kernel test robot
Hi "Toke,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/bpf-Rewor...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: h8300-randconfig-r001-20201014 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.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://github.com/0day-ci/linux/commit/49323d0d5b278524de4bd9450ce2962a4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Toke-H-iland-J-rgensen/bpf-Rework-bpf_redirect_neigh-to-allow-supplying-nexthop-from-caller/20201015-234710
git checkout 49323d0d5b278524de4bd9450ce2962a44311fec
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:12,
from net/core/filter.c:20:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:93:50: warning: ordered comparison of pointer with null pointer [-Wextra]
93 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
net/core/filter.c: In function '__bpf_redirect_neigh':
>> net/core/filter.c:2404:10: error: too many arguments to function '__bpf_redirect_neigh_v6'
2404 | return __bpf_redirect_neigh_v6(skb, dev, nh);
| ^~~~~~~~~~~~~~~~~~~~~~~
net/core/filter.c:2267:12: note: declared here
2267 | static int __bpf_redirect_neigh_v6(struct sk_buff *skb, struct net_device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/h8300/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/h8300/include/asm/bitops.h:170,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/module.h:12,
from net/core/filter.c:20:
net/core/filter.c: In function 'bpf_clear_redirect_map':
arch/h8300/include/asm/cmpxchg.h:54:3: warning: value computed is not used [-Wunused-value]
54 | ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), \
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 | (unsigned long)(o), \
| ~~~~~~~~~~~~~~~~~~~~~
56 | (unsigned long)(n), \
| ~~~~~~~~~~~~~~~~~~~~~
57 | sizeof(*(ptr))))
| ~~~~~~~~~~~~~~~~
include/asm-generic/cmpxchg.h:106:28: note: in expansion of macro 'cmpxchg_local'
106 | #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n))
| ^~~~~~~~~~~~~
net/core/filter.c:3978:4: note: in expansion of macro 'cmpxchg'
3978 | cmpxchg(&ri->map, map, NULL);
| ^~~~~~~
vim +/__bpf_redirect_neigh_v6 +2404 net/core/filter.c
2385
2386 static int __bpf_redirect_neigh(struct sk_buff *skb, struct net_device *dev,
2387 struct bpf_nh_params *nh)
2388 {
2389 struct ethhdr *ethh = eth_hdr(skb);
2390
2391 if (unlikely(skb->mac_header >= skb->network_header))
2392 goto out;
2393 bpf_push_mac_rcsum(skb);
2394 if (is_multicast_ether_addr(ethh->h_dest))
2395 goto out;
2396
2397 skb_pull(skb, sizeof(*ethh));
2398 skb_unset_mac_header(skb);
2399 skb_reset_network_header(skb);
2400
2401 if (skb->protocol == htons(ETH_P_IP))
2402 return __bpf_redirect_neigh_v4(skb, dev, nh);
2403 else if (skb->protocol == htons(ETH_P_IPV6))
> 2404 return __bpf_redirect_neigh_v6(skb, dev, nh);
2405 out:
2406 kfree_skb(skb);
2407 return -ENOTSUPP;
2408 }
2409
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months
Re: [PATCH v1 2/3] megaraid_sas: iouring iopoll support
by kernel test robot
Hi Kashyap,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20201015]
[cannot apply to scsi/for-next mkp-scsi/for-next v5.9 v5.9-rc8 v5.9-rc7 v5.9]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Kashyap-Desai/io_uring-iopoll-in...
base: 03d992bd2de6c7f2c9bbd4260ff104c0926ce3ff
config: riscv-randconfig-r026-20201015 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project e7b4feea8e1bf520b34ad8c116abab6677344b74)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/011c9682f4ab6651d3b56e7bb819b6605...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kashyap-Desai/io_uring-iopoll-in-scsi-layer/20201015-213946
git checkout 011c9682f4ab6651d3b56e7bb819b6605e1f8d32
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/scsi/megaraid/megaraid_sas_fusion.c:3652:5: warning: no previous prototype for function 'megasas_blk_mq_poll' [-Wmissing-prototypes]
int megasas_blk_mq_poll(struct Scsi_Host *shost, unsigned int queue_num)
^
drivers/scsi/megaraid/megaraid_sas_fusion.c:3652:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int megasas_blk_mq_poll(struct Scsi_Host *shost, unsigned int queue_num)
^
static
1 warning generated.
vim +/megasas_blk_mq_poll +3652 drivers/scsi/megaraid/megaraid_sas_fusion.c
3651
> 3652 int megasas_blk_mq_poll(struct Scsi_Host *shost, unsigned int queue_num)
3653 {
3654
3655 struct megasas_instance *instance;
3656 int num_entries = 0;
3657 struct fusion_context *fusion;
3658
3659 instance = (struct megasas_instance *)shost->hostdata;
3660
3661 fusion = instance->ctrl_context;
3662
3663 queue_num = queue_num + instance->low_latency_index_start;
3664
3665 if (!atomic_add_unless(&fusion->busy_mq_poll[queue_num], 1, 1))
3666 return 0;
3667
3668 num_entries = complete_cmd_fusion(instance, queue_num, NULL);
3669 atomic_dec(&fusion->busy_mq_poll[queue_num]);
3670
3671 return num_entries;
3672 }
3673
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months
[linux-rt-devel:linux-5.9.y-rt-rebase 220/233] arch/powerpc/platforms/pseries/iommu.c:181:8: error: type defaults to 'int' in declaration of 'DEFINE_LOCAL_IRQ_LOCK'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.9.y-rt-rebase
head: ae29d238360226f2ec8d2531d96e64dc6901bf54
commit: e12a247d307d484a76032015c1fd9db09a898d26 [220/233] powerpc/pseries/iommu: Use a locallock instead local_irq_save()
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.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/rt/linux-rt-devel.git/com...
git remote add linux-rt-devel https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git
git fetch --no-tags linux-rt-devel linux-5.9.y-rt-rebase
git checkout e12a247d307d484a76032015c1fd9db09a898d26
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> arch/powerpc/platforms/pseries/iommu.c:181:8: error: type defaults to 'int' in declaration of 'DEFINE_LOCAL_IRQ_LOCK' [-Werror=implicit-int]
181 | static DEFINE_LOCAL_IRQ_LOCK(tcp_page_lock);
| ^~~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/iommu.c:181:1: warning: parameter names (without types) in function declaration
181 | static DEFINE_LOCAL_IRQ_LOCK(tcp_page_lock);
| ^~~~~~
In file included from include/asm-generic/percpu.h:7,
from arch/powerpc/include/asm/percpu.h:18,
from include/linux/irqflags.h:17,
from include/linux/spinlock.h:54,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from arch/powerpc/platforms/pseries/iommu.c:15:
arch/powerpc/platforms/pseries/iommu.c: In function 'tce_buildmulti_pSeriesLP':
>> arch/powerpc/platforms/pseries/iommu.c:204:21: error: 'tcp_page_lock' undeclared (first use in this function)
204 | local_lock_irqsave(tcp_page_lock, flags);
| ^~~~~~~~~~~~~
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/percpu-defs.h:252:27: note: in expansion of macro 'raw_cpu_ptr'
252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
| ^~~~~~~~~~~
include/linux/local_lock_internal.h:163:22: note: in expansion of macro 'this_cpu_ptr'
163 | local_lock_acquire(this_cpu_ptr(lock)); \
| ^~~~~~~~~~~~
include/linux/local_lock.h:31:2: note: in expansion of macro '__local_lock_irqsave'
31 | __local_lock_irqsave(lock, flags)
| ^~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/iommu.c:204:2: note: in expansion of macro 'local_lock_irqsave'
204 | local_lock_irqsave(tcp_page_lock, flags);
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/iommu.c:204:21: note: each undeclared identifier is reported only once for each function it appears in
204 | local_lock_irqsave(tcp_page_lock, flags);
| ^~~~~~~~~~~~~
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/percpu-defs.h:252:27: note: in expansion of macro 'raw_cpu_ptr'
252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
| ^~~~~~~~~~~
include/linux/local_lock_internal.h:163:22: note: in expansion of macro 'this_cpu_ptr'
163 | local_lock_acquire(this_cpu_ptr(lock)); \
| ^~~~~~~~~~~~
include/linux/local_lock.h:31:2: note: in expansion of macro '__local_lock_irqsave'
31 | __local_lock_irqsave(lock, flags)
| ^~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/iommu.c:204:2: note: in expansion of macro 'local_lock_irqsave'
204 | local_lock_irqsave(tcp_page_lock, flags);
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/iommu.c: In function 'tce_setrange_multi_pSeriesLP':
arch/powerpc/platforms/pseries/iommu.c:422:17: error: 'tcp_page_lock' undeclared (first use in this function)
422 | local_lock_irq(tcp_page_lock);
| ^~~~~~~~~~~~~
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/percpu-defs.h:252:27: note: in expansion of macro 'raw_cpu_ptr'
252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
| ^~~~~~~~~~~
include/linux/local_lock_internal.h:157:22: note: in expansion of macro 'this_cpu_ptr'
157 | local_lock_acquire(this_cpu_ptr(lock)); \
| ^~~~~~~~~~~~
include/linux/local_lock.h:22:31: note: in expansion of macro '__local_lock_irq'
22 | #define local_lock_irq(lock) __local_lock_irq(lock)
| ^~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/iommu.c:422:2: note: in expansion of macro 'local_lock_irq'
422 | local_lock_irq(tcp_page_lock);
| ^~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/iommu.c: At top level:
arch/powerpc/platforms/pseries/iommu.c:181:8: warning: 'DEFINE_LOCAL_IRQ_LOCK' declared 'static' but never defined [-Wunused-function]
181 | static DEFINE_LOCAL_IRQ_LOCK(tcp_page_lock);
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +181 arch/powerpc/platforms/pseries/iommu.c
179
180 static DEFINE_PER_CPU(__be64 *, tce_page);
> 181 static DEFINE_LOCAL_IRQ_LOCK(tcp_page_lock);
182
183 static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum,
184 long npages, unsigned long uaddr,
185 enum dma_data_direction direction,
186 unsigned long attrs)
187 {
188 u64 rc = 0;
189 u64 proto_tce;
190 __be64 *tcep;
191 u64 rpn;
192 long l, limit;
193 long tcenum_start = tcenum, npages_start = npages;
194 int ret = 0;
195 unsigned long flags;
196
197 if ((npages == 1) || !firmware_has_feature(FW_FEATURE_PUT_TCE_IND)) {
198 return tce_build_pSeriesLP(tbl->it_index, tcenum,
199 tbl->it_page_shift, npages, uaddr,
200 direction, attrs);
201 }
202
203 /* to protect tcep and the page behind it */
> 204 local_lock_irqsave(tcp_page_lock, flags);
205
206 tcep = __this_cpu_read(tce_page);
207
208 /* This is safe to do since interrupts are off when we're called
209 * from iommu_alloc{,_sg}()
210 */
211 if (!tcep) {
212 tcep = (__be64 *)__get_free_page(GFP_ATOMIC);
213 /* If allocation fails, fall back to the loop implementation */
214 if (!tcep) {
215 local_unlock_irqrestore(tcp_page_lock, flags);
216 return tce_build_pSeriesLP(tbl->it_index, tcenum,
217 tbl->it_page_shift,
218 npages, uaddr, direction, attrs);
219 }
220 __this_cpu_write(tce_page, tcep);
221 }
222
223 rpn = __pa(uaddr) >> TCE_SHIFT;
224 proto_tce = TCE_PCI_READ;
225 if (direction != DMA_TO_DEVICE)
226 proto_tce |= TCE_PCI_WRITE;
227
228 /* We can map max one pageful of TCEs at a time */
229 do {
230 /*
231 * Set up the page with TCE data, looping through and setting
232 * the values.
233 */
234 limit = min_t(long, npages, 4096/TCE_ENTRY_SIZE);
235
236 for (l = 0; l < limit; l++) {
237 tcep[l] = cpu_to_be64(proto_tce | (rpn & TCE_RPN_MASK) << TCE_RPN_SHIFT);
238 rpn++;
239 }
240
241 rc = plpar_tce_put_indirect((u64)tbl->it_index,
242 (u64)tcenum << 12,
243 (u64)__pa(tcep),
244 limit);
245
246 npages -= limit;
247 tcenum += limit;
248 } while (npages > 0 && !rc);
249
250 local_unlock_irqrestore(tcp_page_lock, flags);
251
252 if (unlikely(rc == H_NOT_ENOUGH_RESOURCES)) {
253 ret = (int)rc;
254 tce_freemulti_pSeriesLP(tbl, tcenum_start,
255 (npages_start - (npages + limit)));
256 return ret;
257 }
258
259 if (rc && printk_ratelimit()) {
260 printk("tce_buildmulti_pSeriesLP: plpar_tce_put failed. rc=%lld\n", rc);
261 printk("\tindex = 0x%llx\n", (u64)tbl->it_index);
262 printk("\tnpages = 0x%llx\n", (u64)npages);
263 printk("\ttce[0] val = 0x%llx\n", tcep[0]);
264 dump_stack();
265 }
266 return ret;
267 }
268
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months
drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 3e4fb4346c781068610d03c12b16c0cfb0fd24a3
commit: c1d55d50139bea6bfe964458272a93dd899efb83 asm-generic/io.h: Fix sparse warnings on big-endian architectures
date: 2 months ago
config: xtensa-randconfig-s031-20201015 (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.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.3-rc1-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c1d55d50139bea6bfe964458272a93dd899efb83
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
drivers/atm/horizon.c:1135:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[usertype] tx_addr @@ got void [noderef] __user *iov_base @@
drivers/atm/horizon.c:1135:22: sparse: expected void *[usertype] tx_addr
drivers/atm/horizon.c:1135:22: sparse: got void [noderef] __user *iov_base
drivers/atm/horizon.c:1173:49: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned int [usertype] data @@ got restricted __be32 [usertype] @@
drivers/atm/horizon.c:1173:49: sparse: expected unsigned int [usertype] data
drivers/atm/horizon.c:1173:49: sparse: got restricted __be32 [usertype]
drivers/atm/horizon.c:1177:48: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned int [usertype] data @@ got restricted __be32 [usertype] @@
drivers/atm/horizon.c:1177:48: sparse: expected unsigned int [usertype] data
drivers/atm/horizon.c:1177:48: sparse: got restricted __be32 [usertype]
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
>> drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
>> drivers/atm/horizon.c:365:9: sparse: expected unsigned short [usertype] value
drivers/atm/horizon.c:365:9: sparse: got restricted __le16 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
>> drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
>> drivers/atm/horizon.c:365:9: sparse: expected unsigned short [usertype] value
drivers/atm/horizon.c:365:9: sparse: got restricted __le16 [usertype]
>> drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
>> drivers/atm/horizon.c:365:9: sparse: expected unsigned short [usertype] value
drivers/atm/horizon.c:365:9: sparse: got restricted __le16 [usertype]
>> drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
>> drivers/atm/horizon.c:365:9: sparse: expected unsigned short [usertype] value
drivers/atm/horizon.c:365:9: sparse: got restricted __le16 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
>> drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
>> drivers/atm/horizon.c:365:9: sparse: expected unsigned short [usertype] value
drivers/atm/horizon.c:365:9: sparse: got restricted __le16 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
>> drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
>> drivers/atm/horizon.c:365:9: sparse: expected unsigned short [usertype] value
drivers/atm/horizon.c:365:9: sparse: got restricted __le16 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/atm/horizon.c:357:9: sparse: expected unsigned int [usertype] value
drivers/atm/horizon.c:357:9: sparse: got restricted __le32 [usertype]
>> drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
>> drivers/atm/horizon.c:365:9: sparse: expected unsigned short [usertype] value
drivers/atm/horizon.c:365:9: sparse: got restricted __le16 [usertype]
drivers/atm/horizon.c:361:10: sparse: sparse: too many warnings
vim +365 drivers/atm/horizon.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 363
^1da177e4c3f415 Linus Torvalds 2005-04-16 364 static inline void wr_regw (const hrz_dev * dev, unsigned char reg, u16 data) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 @365 outw (cpu_to_le16 (data), dev->iobase + reg);
^1da177e4c3f415 Linus Torvalds 2005-04-16 366 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 367
:::::: The code at line 365 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months
Re: [PATCH RFC bpf-next 1/2] bpf_redirect_neigh: Support supplying the nexthop as a helper parameter
by kernel test robot
Hi "Toke,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/bpf-Rewor...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: i386-randconfig-s002-20201014 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-rc1-dirty
# https://github.com/0day-ci/linux/commit/49323d0d5b278524de4bd9450ce2962a4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Toke-H-iland-J-rgensen/bpf-Rework-bpf_redirect_neigh-to-allow-supplying-nexthop-from-caller/20201015-234710
git checkout 49323d0d5b278524de4bd9450ce2962a44311fec
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
net/core/filter.c:430:33: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:433:33: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:436:33: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:439:33: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:442:33: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:516:27: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:519:27: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:522:27: sparse: sparse: subtraction of functions? Share your drugs
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:2314:45: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be32 [usertype] daddr @@ got unsigned int [usertype] ipv4_nh @@
>> net/core/filter.c:2314:45: sparse: expected restricted __be32 [usertype] daddr
>> net/core/filter.c:2314:45: sparse: got unsigned int [usertype] ipv4_nh
net/core/filter.c:7806:27: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:7809:27: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:7812:27: sparse: sparse: subtraction of functions? Share your drugs
net/core/filter.c:9643:31: sparse: sparse: symbol 'sk_filter_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9650:27: sparse: sparse: symbol 'sk_filter_prog_ops' was not declared. Should it be static?
net/core/filter.c:9654:31: sparse: sparse: symbol 'tc_cls_act_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9662:27: sparse: sparse: symbol 'tc_cls_act_prog_ops' was not declared. Should it be static?
net/core/filter.c:9666:31: sparse: sparse: symbol 'xdp_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9677:31: sparse: sparse: symbol 'cg_skb_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9683:27: sparse: sparse: symbol 'cg_skb_prog_ops' was not declared. Should it be static?
net/core/filter.c:9687:31: sparse: sparse: symbol 'lwt_in_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9693:27: sparse: sparse: symbol 'lwt_in_prog_ops' was not declared. Should it be static?
net/core/filter.c:9697:31: sparse: sparse: symbol 'lwt_out_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9703:27: sparse: sparse: symbol 'lwt_out_prog_ops' was not declared. Should it be static?
net/core/filter.c:9707:31: sparse: sparse: symbol 'lwt_xmit_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9714:27: sparse: sparse: symbol 'lwt_xmit_prog_ops' was not declared. Should it be static?
net/core/filter.c:9718:31: sparse: sparse: symbol 'lwt_seg6local_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9724:27: sparse: sparse: symbol 'lwt_seg6local_prog_ops' was not declared. Should it be static?
net/core/filter.c:9728:31: sparse: sparse: symbol 'cg_sock_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9734:27: sparse: sparse: symbol 'cg_sock_prog_ops' was not declared. Should it be static?
net/core/filter.c:9737:31: sparse: sparse: symbol 'cg_sock_addr_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9743:27: sparse: sparse: symbol 'cg_sock_addr_prog_ops' was not declared. Should it be static?
net/core/filter.c:9746:31: sparse: sparse: symbol 'sock_ops_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9752:27: sparse: sparse: symbol 'sock_ops_prog_ops' was not declared. Should it be static?
net/core/filter.c:9755:31: sparse: sparse: symbol 'sk_skb_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9762:27: sparse: sparse: symbol 'sk_skb_prog_ops' was not declared. Should it be static?
net/core/filter.c:9765:31: sparse: sparse: symbol 'sk_msg_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9772:27: sparse: sparse: symbol 'sk_msg_prog_ops' was not declared. Should it be static?
net/core/filter.c:9775:31: sparse: sparse: symbol 'flow_dissector_verifier_ops' was not declared. Should it be static?
net/core/filter.c:9781:27: sparse: sparse: symbol 'flow_dissector_prog_ops' was not declared. Should it be static?
net/core/filter.c:10087:31: sparse: sparse: symbol 'sk_reuseport_verifier_ops' was not declared. Should it be static?
net/core/filter.c:10093:27: sparse: sparse: symbol 'sk_reuseport_prog_ops' was not declared. Should it be static?
net/core/filter.c:10269:27: sparse: sparse: symbol 'sk_lookup_prog_ops' was not declared. Should it be static?
net/core/filter.c:10272:31: sparse: sparse: symbol 'sk_lookup_verifier_ops' was not declared. Should it be static?
net/core/filter.c:245:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:245:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:245:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:245:32: sparse: sparse: cast to restricted __be16
net/core/filter.c:272:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:272:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:272:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:272:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:272:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:272:32: sparse: sparse: cast to restricted __be32
net/core/filter.c:1912: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:1912:43: sparse: expected restricted __wsum [usertype] diff
net/core/filter.c:1912:43: 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 __be16 [usertype] old @@ got unsigned long long [usertype] from @@
net/core/filter.c:1915:36: sparse: expected restricted __be16 [usertype] old
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 __be16 [usertype] new @@ got unsigned long long [usertype] to @@
net/core/filter.c:1915:42: sparse: expected restricted __be16 [usertype] new
net/core/filter.c:1915:42: sparse: got unsigned long long [usertype] to
net/core/filter.c:1918: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:1918:36: sparse: expected restricted __be32 [usertype] from
net/core/filter.c:1918:36: sparse: got unsigned long long [usertype] from
net/core/filter.c:1918: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:1918:42: sparse: expected restricted __be32 [usertype] to
net/core/filter.c:1918:42: sparse: got unsigned long long [usertype] to
net/core/filter.c:1963: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:1963:59: sparse: expected restricted __wsum [usertype] diff
net/core/filter.c:1963:59: 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 __be16 [usertype] from @@ got unsigned long long [usertype] from @@
net/core/filter.c:1966:52: sparse: expected restricted __be16 [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 __be16 [usertype] to @@ got unsigned long long [usertype] to @@
net/core/filter.c:1966:58: sparse: expected restricted __be16 [usertype] to
net/core/filter.c:1966:58: sparse: got unsigned long long [usertype] to
net/core/filter.c:1969: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:1969:52: sparse: expected restricted __be32 [usertype] from
net/core/filter.c:1969:52: sparse: got unsigned long long [usertype] from
net/core/filter.c:1969: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:1969:58: sparse: expected restricted __be32 [usertype] to
net/core/filter.c:1969:58: sparse: got unsigned long long [usertype] to
net/core/filter.c:2015:28: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long long @@ got restricted __wsum @@
net/core/filter.c:2015:28: sparse: expected unsigned long long
net/core/filter.c:2015:28: sparse: got restricted __wsum
net/core/filter.c:2037:35: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long long @@ got restricted __wsum [usertype] csum @@
net/core/filter.c:2037:35: sparse: expected unsigned long long
net/core/filter.c:2037:35: sparse: got restricted __wsum [usertype] csum
net/core/filter.c: note: in included file (through include/net/ip.h):
include/net/route.h:372:48: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] key @@ got restricted __be32 [usertype] daddr @@
include/net/route.h:372:48: sparse: expected unsigned int [usertype] key
include/net/route.h:372:48: sparse: got restricted __be32 [usertype] daddr
include/net/route.h:372:48: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] key @@ got restricted __be32 [usertype] daddr @@
include/net/route.h:372:48: sparse: expected unsigned int [usertype] key
include/net/route.h:372:48: sparse: got restricted __be32 [usertype] daddr
include/net/route.h:372:48: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] key @@ got restricted __be32 [usertype] daddr @@
include/net/route.h:372:48: sparse: expected unsigned int [usertype] key
include/net/route.h:372:48: sparse: got restricted __be32 [usertype] daddr
>> net/core/filter.c:2331:9: sparse: sparse: context imbalance in 'bpf_out_neigh_v4' - different lock contexts for basic block
vim +2314 net/core/filter.c
2273
2274 #if IS_ENABLED(CONFIG_INET)
2275 static int bpf_out_neigh_v4(struct net *net, struct sk_buff *skb,
2276 struct net_device *dev, struct bpf_nh_params *nh)
2277 {
2278 u32 hh_len = LL_RESERVED_SPACE(dev);
2279 struct neighbour *neigh;
2280 bool is_v6gw = false;
2281
2282 if (dev_xmit_recursion()) {
2283 net_crit_ratelimited("bpf: recursion limit reached on datapath, buggy bpf program?\n");
2284 goto out_drop;
2285 }
2286
2287 skb->dev = dev;
2288 skb->tstamp = 0;
2289
2290 if (unlikely(skb_headroom(skb) < hh_len && dev->header_ops)) {
2291 struct sk_buff *skb2;
2292
2293 skb2 = skb_realloc_headroom(skb, hh_len);
2294 if (unlikely(!skb2)) {
2295 kfree_skb(skb);
2296 return -ENOMEM;
2297 }
2298 if (skb->sk)
2299 skb_set_owner_w(skb2, skb->sk);
2300 consume_skb(skb);
2301 skb = skb2;
2302 }
2303
2304 rcu_read_lock_bh();
2305 if (!nh) {
2306 struct dst_entry *dst = skb_dst(skb);
2307 struct rtable *rt = container_of(dst, struct rtable, dst);
2308
2309 neigh = ip_neigh_for_gw(rt, skb, &is_v6gw);
2310 } else if (nh->nh_family == AF_INET6) {
2311 neigh = ip_neigh_gw6(dev, &nh->ipv6_nh);
2312 is_v6gw = true;
2313 } else if (nh->nh_family == AF_INET) {
> 2314 neigh = ip_neigh_gw4(dev, nh->ipv4_nh);
2315 } else {
2316 goto out_drop;
2317 }
2318
2319 if (likely(!IS_ERR(neigh))) {
2320 int ret;
2321
2322 sock_confirm_neigh(skb, neigh);
2323 dev_xmit_recursion_inc();
2324 ret = neigh_output(neigh, skb, is_v6gw);
2325 dev_xmit_recursion_dec();
2326 rcu_read_unlock_bh();
2327 return ret;
2328 }
2329 rcu_read_unlock_bh();
2330 out_drop:
> 2331 kfree_skb(skb);
2332 return -ENETDOWN;
2333 }
2334
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months
[PATCH] drm/i915: fix semicolon.cocci warnings
by kernel test robot
From: kernel test robot <lkp(a)intel.com>
drivers/gpu/drm/i915/display/intel_dp.c:4034:33-34: Unneeded semicolon
Remove unneeded semicolon.
Generated by: scripts/coccinelle/misc/semicolon.cocci
CC: Ankit Nautiyal <ankit.k.nautiyal(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
url: https://github.com/0day-ci/linux/commits/Ankit-Nautiyal/Add-support-for-D...
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
intel_dp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -4031,7 +4031,7 @@ void intel_dp_get_pcon_dsc_cap(struct in
drm_err(&i915->drm, "Failed to read DP_PCON_DSC_MAX_SLICE_WIDTH\n");
return;
}
- pcon_dsc->max_slice_width = buf;;
+ pcon_dsc->max_slice_width = buf;
if (drm_dp_dpcd_readb(&intel_dp->aux, DP_PCON_DSC_BPP_INCR, &buf) < 0) {
drm_err(&i915->drm, "Failed to read DP_PCON_DSC_BPP_INCR\n");
1 year, 11 months
Re: [RFC PATCH v2 2/5] kernel: allow to configure PREEMPT_NONE, PREEMPT_VOLUNTARY on kernel command line
by kernel test robot
Hi Michal,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on tip/sched/core]
[also build test ERROR on gpio/for-next linus/master v5.9]
[cannot apply to linux/master next-20201015]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Michal-Hocko/allow-overriding-de...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git feff2e65efd8d84cf831668e182b2ce73c604bbb
config: parisc-randconfig-r031-20201014 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.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://github.com/0day-ci/linux/commit/643d7718ce08c98533500e214350e7412...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Michal-Hocko/allow-overriding-default-preempt-mode-from-command-line/20201009-203052
git checkout 643d7718ce08c98533500e214350e74125056b98
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/compiler_types.h:74,
from <command-line>:
arch/parisc/include/asm/jump_label.h: In function 'arch_static_branch':
>> arch/parisc/include/asm/jump_label.h:18:4: error: expected ':' before '__stringify'
18 | __stringify(ASM_ULONG_INSN) " %c0 - .\n\t"
| ^~~~~~~~~~~
include/linux/compiler-gcc.h:115:47: note: in definition of macro 'asm_volatile_goto'
115 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
| ^
In file included from include/linux/jump_label.h:89,
from include/linux/gpio/consumer.h:6,
from drivers/iio/proximity/srf04.c:38:
arch/parisc/include/asm/jump_label.h:23:1: warning: label 'l_yes' defined but not used [-Wunused-label]
23 | l_yes:
| ^~~~~
In file included from include/linux/compiler_types.h:74,
from <command-line>:
arch/parisc/include/asm/jump_label.h: In function 'arch_static_branch_jump':
arch/parisc/include/asm/jump_label.h:33:4: error: expected ':' before '__stringify'
33 | __stringify(ASM_ULONG_INSN) " %c0 - .\n\t"
| ^~~~~~~~~~~
include/linux/compiler-gcc.h:115:47: note: in definition of macro 'asm_volatile_goto'
115 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
| ^
In file included from include/linux/jump_label.h:89,
from include/linux/gpio/consumer.h:6,
from drivers/iio/proximity/srf04.c:38:
arch/parisc/include/asm/jump_label.h:38:1: warning: label 'l_yes' defined but not used [-Wunused-label]
38 | l_yes:
| ^~~~~
--
In file included from include/linux/compiler_types.h:74,
from <command-line>:
arch/parisc/include/asm/jump_label.h: In function 'arch_static_branch':
>> arch/parisc/include/asm/jump_label.h:18:4: error: expected ':' before '__stringify'
18 | __stringify(ASM_ULONG_INSN) " %c0 - .\n\t"
| ^~~~~~~~~~~
include/linux/compiler-gcc.h:115:47: note: in definition of macro 'asm_volatile_goto'
115 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
| ^
In file included from include/linux/jump_label.h:89,
from include/linux/gpio/consumer.h:6,
from sound/soc/codecs/es7241.c:6:
arch/parisc/include/asm/jump_label.h:23:1: warning: label 'l_yes' defined but not used [-Wunused-label]
23 | l_yes:
| ^~~~~
In file included from include/linux/compiler_types.h:74,
from <command-line>:
arch/parisc/include/asm/jump_label.h: In function 'arch_static_branch_jump':
arch/parisc/include/asm/jump_label.h:33:4: error: expected ':' before '__stringify'
33 | __stringify(ASM_ULONG_INSN) " %c0 - .\n\t"
| ^~~~~~~~~~~
include/linux/compiler-gcc.h:115:47: note: in definition of macro 'asm_volatile_goto'
115 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
| ^
In file included from include/linux/jump_label.h:89,
from include/linux/gpio/consumer.h:6,
from sound/soc/codecs/es7241.c:6:
arch/parisc/include/asm/jump_label.h:38:1: warning: label 'l_yes' defined but not used [-Wunused-label]
38 | l_yes:
| ^~~~~
At top level:
sound/soc/codecs/es7241.c:206:33: warning: 'es7241_chip' defined but not used [-Wunused-const-variable=]
206 | static const struct es7241_chip es7241_chip = {
| ^~~~~~~~~~~
vim +18 arch/parisc/include/asm/jump_label.h
62217beb394e654 Helge Deller 2019-05-03 11
62217beb394e654 Helge Deller 2019-05-03 12 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
62217beb394e654 Helge Deller 2019-05-03 13 {
62217beb394e654 Helge Deller 2019-05-03 14 asm_volatile_goto("1:\n\t"
62217beb394e654 Helge Deller 2019-05-03 15 "nop\n\t"
62217beb394e654 Helge Deller 2019-05-03 16 ".pushsection __jump_table, \"aw\"\n\t"
62217beb394e654 Helge Deller 2019-05-03 17 ".word 1b - ., %l[l_yes] - .\n\t"
62217beb394e654 Helge Deller 2019-05-03 @18 __stringify(ASM_ULONG_INSN) " %c0 - .\n\t"
62217beb394e654 Helge Deller 2019-05-03 19 ".popsection\n\t"
62217beb394e654 Helge Deller 2019-05-03 20 : : "i" (&((char *)key)[branch]) : : l_yes);
62217beb394e654 Helge Deller 2019-05-03 21
62217beb394e654 Helge Deller 2019-05-03 22 return false;
62217beb394e654 Helge Deller 2019-05-03 23 l_yes:
62217beb394e654 Helge Deller 2019-05-03 24 return true;
62217beb394e654 Helge Deller 2019-05-03 25 }
62217beb394e654 Helge Deller 2019-05-03 26
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months