tree:
https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
head: 105e46f6fa14fa139fa861296e47afcb8e169fd0
commit: 4b62881e144d9c89e9c7ff5a6cd9e640e5920971 [62/63] IB/mlx4: Add support for REJ due
to timeout
config: i386-randconfig-s032-20200723 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-93-g4c6cbe55-dirty
git checkout 4b62881e144d9c89e9c7ff5a6cd9e640e5920971
# 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 >>)
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: sparse: incorrect
type in assignment (different address spaces) @@ expected void **slot @@ got void
[noderef] __rcu ** @@
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: expected void **slot
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: got void [noderef] __rcu **
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: sparse: incorrect type in assignment
(different address spaces) @@ expected void **slot @@ got void [noderef] __rcu **
@@
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: expected void **slot
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: got void [noderef] __rcu **
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: sparse: incorrect type in argument 1
(different address spaces) @@ expected void [noderef] __rcu **slot @@ got void
**slot @@
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: expected void [noderef] __rcu
**slot
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: got void **slot
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: sparse: incorrect type in assignment
(different address spaces) @@ expected void **slot @@ got void [noderef] __rcu **
@@
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: expected void **slot
> drivers/infiniband/hw/mlx4/cm.c:492:9: sparse: got void [noderef] __rcu **
vim +492 drivers/infiniband/hw/mlx4/cm.c
483
484 static void rej_tmout_tree_cleanup(struct mlx4_ib_sriov *sriov, int slave)
485 {
486 struct radix_tree_iter iter;
487 bool flush_needed = false;
488 void **slot;
489 int cnt = 0;
490
491 mutex_lock(&sriov->rej_tmout_lock);
492 radix_tree_for_each_slot(slot, &sriov->rej_tmout_root,
&iter, 0) {
493 struct rej_tmout_entry *item = *slot;
494
495 if (slave < 0 || slave == item->slave) {
496 mod_delayed_work(system_wq, &item->timeout, 0);
497 flush_needed = true;
498 ++cnt;
499 }
500 }
501 mutex_unlock(&sriov->rej_tmout_lock);
502
503 if (flush_needed) {
504 flush_scheduled_work();
505
506 pr_debug("%d entries in radix_tree for slave %d during cleanup\n",
507 slave, cnt);
508 }
509 }
510
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org