tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 30b94f5b7f90893f07314da68de8bdafb68bc2b8 commit: aeda8188894b2ed9ecf04dabaf5e147bce811725 [24875/30000] ub: change name in kconfig, and kconfig content of ub config: x86_64-randconfig-121-20240413 (https://download.01.org/0day-ci/archive/20240413/202404130314.iS4dMbbM-lkp@i...) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240413/202404130314.iS4dMbbM-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202404130314.iS4dMbbM-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/ub/urma/ubcore/ubcore_umem.c:183:21: sparse: sparse: Using plain integer as NULL pointer
drivers/ub/urma/ubcore/ubcore_umem.c:238:26: sparse: sparse: Using plain integer as NULL pointer --
drivers/ub/urma/ubcore/ubcore_main.c:63:5: sparse: sparse: symbol 'ubcore_open' was not declared. Should it be static? drivers/ub/urma/ubcore/ubcore_main.c:120:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:120:44: sparse: expected void const *args_addr drivers/ub/urma/ubcore/ubcore_main.c:120:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:132:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:132:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:132:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:145:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:145:44: sparse: expected void const *args_addr drivers/ub/urma/ubcore/ubcore_main.c:145:44: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:178:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:178:44: sparse: expected void const *args_addr drivers/ub/urma/ubcore/ubcore_main.c:178:44: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:210:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:210:44: sparse: expected void const *args_addr drivers/ub/urma/ubcore/ubcore_main.c:210:44: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:244:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:244:44: sparse: expected void const *args_addr drivers/ub/urma/ubcore/ubcore_main.c:244:44: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:271:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:271:37: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:271:37: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:410:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:410:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:410:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:417:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:417:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:417:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:423:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:423:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:423:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:429:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:429:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:429:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:435:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:435:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:435:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:441:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:441:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:441:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:448:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:448:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:448:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:454:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:454:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:454:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:460:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:460:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:460:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:508:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:508:44: sparse: expected void const *args_addr drivers/ub/urma/ubcore/ubcore_main.c:508:44: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:525:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:525:36: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:525:36: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:541:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:541:44: sparse: expected void const *args_addr drivers/ub/urma/ubcore/ubcore_main.c:541:44: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:570:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/ubcore/ubcore_main.c:570:37: sparse: expected void *args_addr drivers/ub/urma/ubcore/ubcore_main.c:570:37: sparse: got void [noderef] __user * drivers/ub/urma/ubcore/ubcore_main.c:684:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] resv2 @@ got restricted __be32 [usertype] @@ drivers/ub/urma/ubcore/ubcore_main.c:684:37: sparse: expected unsigned int [usertype] resv2 drivers/ub/urma/ubcore/ubcore_main.c:684:37: sparse: got restricted __be32 [usertype]
drivers/ub/urma/ubcore/ubcore_main.c:685:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr @@ got restricted __be32 [usertype] ipv4 @@
drivers/ub/urma/ubcore/ubcore_main.c:685:36: sparse: expected unsigned int [usertype] addr drivers/ub/urma/ubcore/ubcore_main.c:685:36: sparse: got restricted __be32 [usertype] ipv4 drivers/ub/urma/ubcore/ubcore_main.c:88:17: sparse: sparse: context imbalance in 'ubcore_uasid_alloc' - unexpected unlock drivers/ub/urma/ubcore/ubcore_main.c: note: in included file:
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: expected void [noderef] __user *to drivers/ub/urma/ubcore/ubcore_cmd.h:130:37: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: expected void const [noderef] __user *from drivers/ub/urma/ubcore/ubcore_cmd.h:120:45: sparse: got void const *args_addr -- drivers/ub/urma/ubcore/ubcore_netlink.c:33:13: sparse: sparse: symbol 'nl_sock' was not declared. Should it be static?
drivers/ub/urma/ubcore/ubcore_netlink.c:36:10: sparse: sparse: symbol 'g_nlmsg_seq' was not declared. Should it be static?
--
drivers/ub/urma/uburma/uburma_cdev_file.c:59:19: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ub/urma/uburma/uburma_cdev_file.c:59:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_cdev_file.c:59:19: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_cdev_file.c:80:19: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_cdev_file.c:80:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_cdev_file.c:80:19: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_cdev_file.c:628:19: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_cdev_file.c:628:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_cdev_file.c:628:19: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_cdev_file.c:796:19: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_cdev_file.c:796:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_cdev_file.c:796:19: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_cdev_file.c:821:19: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_cdev_file.c:821:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_cdev_file.c:821:19: sparse: struct ubcore_device * --
drivers/ub/urma/uburma/uburma_dev_ops.c:50:19: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ub/urma/uburma/uburma_dev_ops.c:50:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_dev_ops.c:50:19: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_dev_ops.c:71:9: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_dev_ops.c:71:9: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_dev_ops.c:71:9: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_dev_ops.c:98:19: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_dev_ops.c:98:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_dev_ops.c:98:19: sparse: struct ubcore_device *
drivers/ub/urma/uburma/uburma_dev_ops.c:143:42: sparse: sparse: dereference of noderef expression
--
drivers/ub/urma/uburma/uburma_event.c:102:20: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ub/urma/uburma/uburma_event.c:102:20: sparse: void [noderef] __rcu * drivers/ub/urma/uburma/uburma_event.c:102:20: sparse: void *
drivers/ub/urma/uburma/uburma_event.c:291:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void * @@
drivers/ub/urma/uburma/uburma_event.c:291:51: sparse: expected void [noderef] __user *to drivers/ub/urma/uburma/uburma_event.c:291:51: sparse: got void * drivers/ub/urma/uburma/uburma_event.c:384:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void * @@ drivers/ub/urma/uburma/uburma_event.c:384:44: sparse: expected void [noderef] __user *to drivers/ub/urma/uburma/uburma_event.c:384:44: sparse: got void * --
drivers/ub/urma/uburma/uburma_cmd.c:68:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:68:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:68:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:94:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:94:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:94:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:147:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:147:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:147:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:169:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:169:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:190:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:190:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:190:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:217:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:217:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:217:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:246:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:246:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:246:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:273:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:273:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:273:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:296:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ub/urma/uburma/uburma_cmd.c:296:16: sparse: void [noderef] __rcu * drivers/ub/urma/uburma/uburma_cmd.c:296:16: sparse: void *
drivers/ub/urma/uburma/uburma_cmd.c:305:6: sparse: sparse: symbol 'uburma_jfc_event_cb' was not declared. Should it be static? drivers/ub/urma/uburma/uburma_cmd.c:317:6: sparse: sparse: symbol 'uburma_jfs_event_cb' was not declared. Should it be static? drivers/ub/urma/uburma/uburma_cmd.c:329:6: sparse: sparse: symbol 'uburma_jfr_event_cb' was not declared. Should it be static? drivers/ub/urma/uburma/uburma_cmd.c:341:6: sparse: sparse: symbol 'uburma_jetty_event_cb' was not declared. Should it be static?
drivers/ub/urma/uburma/uburma_cmd.c:364:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:364:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:364:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:419:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:419:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:419:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:447:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:447:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:447:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:471:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:471:37: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:471:37: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:485:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:485:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:485:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:514:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:514:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:514:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:532:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:532:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:532:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:560:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:560:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:560:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:610:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:610:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:610:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:640:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:640:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:640:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:663:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:663:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:663:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:677:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:677:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:677:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:701:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:701:37: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:701:37: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:716:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:716:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:716:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:764:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:764:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:764:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:794:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:794:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:794:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:818:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:818:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:818:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:832:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:832:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:832:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:857:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:857:37: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:857:37: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:905:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:905:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:905:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:959:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:959:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:959:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:996:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:996:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:996:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1019:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1019:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1019:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1033:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1033:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1033:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1057:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1057:37: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1057:37: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1069:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1069:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1069:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1082:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1082:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1082:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1103:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1103:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1103:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1137:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1137:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1137:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1155:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1155:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1155:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1181:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1181:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1181:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1215:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1215:36: sparse: expected void *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1215:36: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1233:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ drivers/ub/urma/uburma/uburma_cmd.c:1233:44: sparse: expected void const *args_addr drivers/ub/urma/uburma/uburma_cmd.c:1233:44: sparse: got void [noderef] __user * drivers/ub/urma/uburma/uburma_cmd.c:1309:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@ --
drivers/ub/urma/uburma/uburma_main.c:215:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ub/urma/uburma/uburma_main.c:215:9: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_main.c:215:9: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_main.c:239:9: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_main.c:239:9: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_main.c:239:9: sparse: struct ubcore_device *
drivers/ub/urma/uburma/uburma_main.c:321:19: sparse: sparse: dereference of noderef expression
--
drivers/ub/urma/uburma/uburma_uobj.c:95:19: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ub/urma/uburma/uburma_uobj.c:95:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_uobj.c:95:19: sparse: struct ubcore_device * drivers/ub/urma/uburma/uburma_uobj.c:396:19: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/ub/urma/uburma/uburma_uobj.c:396:19: sparse: struct ubcore_device [noderef] __rcu * drivers/ub/urma/uburma/uburma_uobj.c:396:19: sparse: struct ubcore_device *
vim +183 drivers/ub/urma/ubcore/ubcore_umem.c
f6206cf05e28a7 Yizhen Fan 2023-09-11 170 f6206cf05e28a7 Yizhen Fan 2023-09-11 171 static struct ubcore_umem *ubcore_get_target_umem(struct ubcore_device *dev, uint64_t va, f6206cf05e28a7 Yizhen Fan 2023-09-11 172 uint64_t len, union ubcore_umem_flag flag, f6206cf05e28a7 Yizhen Fan 2023-09-11 173 struct page **page_list) f6206cf05e28a7 Yizhen Fan 2023-09-11 174 { f6206cf05e28a7 Yizhen Fan 2023-09-11 175 uint32_t gup_flags = (flag.bs.writable == 1) ? FOLL_WRITE : (FOLL_WRITE | FOLL_FORCE); f6206cf05e28a7 Yizhen Fan 2023-09-11 176 unsigned long dma_attrs = 0; f6206cf05e28a7 Yizhen Fan 2023-09-11 177 struct ubcore_umem *umem; f6206cf05e28a7 Yizhen Fan 2023-09-11 178 uint64_t npages; f6206cf05e28a7 Yizhen Fan 2023-09-11 179 uint64_t pinned; f6206cf05e28a7 Yizhen Fan 2023-09-11 180 int ret = 0; f6206cf05e28a7 Yizhen Fan 2023-09-11 181 f6206cf05e28a7 Yizhen Fan 2023-09-11 182 umem = kzalloc(sizeof(*umem), GFP_KERNEL); f6206cf05e28a7 Yizhen Fan 2023-09-11 @183 if (umem == 0) { f6206cf05e28a7 Yizhen Fan 2023-09-11 184 ret = -ENOMEM; f6206cf05e28a7 Yizhen Fan 2023-09-11 185 goto out; f6206cf05e28a7 Yizhen Fan 2023-09-11 186 } f6206cf05e28a7 Yizhen Fan 2023-09-11 187 f6206cf05e28a7 Yizhen Fan 2023-09-11 188 ubcore_fill_umem(umem, dev, va, len, flag); f6206cf05e28a7 Yizhen Fan 2023-09-11 189 npages = umem_cal_npages(umem->va, umem->length); f6206cf05e28a7 Yizhen Fan 2023-09-11 190 if (npages == 0 || npages > UINT_MAX) { f6206cf05e28a7 Yizhen Fan 2023-09-11 191 ret = -EINVAL; f6206cf05e28a7 Yizhen Fan 2023-09-11 192 goto umem_kfree; f6206cf05e28a7 Yizhen Fan 2023-09-11 193 } f6206cf05e28a7 Yizhen Fan 2023-09-11 194 f6206cf05e28a7 Yizhen Fan 2023-09-11 195 ret = umem_add_new_pinned(umem, npages); f6206cf05e28a7 Yizhen Fan 2023-09-11 196 if (ret != 0) f6206cf05e28a7 Yizhen Fan 2023-09-11 197 goto sub_pinned_vm; f6206cf05e28a7 Yizhen Fan 2023-09-11 198 f6206cf05e28a7 Yizhen Fan 2023-09-11 199 ret = sg_alloc_table(&umem->sg_head, (unsigned int)npages, GFP_KERNEL); f6206cf05e28a7 Yizhen Fan 2023-09-11 200 if (ret != 0) f6206cf05e28a7 Yizhen Fan 2023-09-11 201 goto sub_pinned_vm; f6206cf05e28a7 Yizhen Fan 2023-09-11 202 f6206cf05e28a7 Yizhen Fan 2023-09-11 203 pinned = umem_pin_all_pages(umem, npages, gup_flags, page_list); f6206cf05e28a7 Yizhen Fan 2023-09-11 204 if (pinned != npages) { f6206cf05e28a7 Yizhen Fan 2023-09-11 205 ret = -ENOMEM; f6206cf05e28a7 Yizhen Fan 2023-09-11 206 goto umem_release; f6206cf05e28a7 Yizhen Fan 2023-09-11 207 } f6206cf05e28a7 Yizhen Fan 2023-09-11 208 f6206cf05e28a7 Yizhen Fan 2023-09-11 209 ret = umem_dma_map(umem, npages, dma_attrs); f6206cf05e28a7 Yizhen Fan 2023-09-11 210 if (ret != 0) f6206cf05e28a7 Yizhen Fan 2023-09-11 211 goto umem_release; f6206cf05e28a7 Yizhen Fan 2023-09-11 212 f6206cf05e28a7 Yizhen Fan 2023-09-11 213 goto out; f6206cf05e28a7 Yizhen Fan 2023-09-11 214 f6206cf05e28a7 Yizhen Fan 2023-09-11 215 umem_release: f6206cf05e28a7 Yizhen Fan 2023-09-11 216 umem_unpin_pages(umem, pinned); f6206cf05e28a7 Yizhen Fan 2023-09-11 217 sub_pinned_vm: f6206cf05e28a7 Yizhen Fan 2023-09-11 218 umem_atomic_sub(npages, umem->owning_mm); f6206cf05e28a7 Yizhen Fan 2023-09-11 219 umem_kfree: f6206cf05e28a7 Yizhen Fan 2023-09-11 220 mmdrop(umem->owning_mm); f6206cf05e28a7 Yizhen Fan 2023-09-11 221 kfree(umem); f6206cf05e28a7 Yizhen Fan 2023-09-11 222 out: f6206cf05e28a7 Yizhen Fan 2023-09-11 223 free_page((unsigned long)page_list); f6206cf05e28a7 Yizhen Fan 2023-09-11 224 return ret != 0 ? ERR_PTR(ret) : umem; f6206cf05e28a7 Yizhen Fan 2023-09-11 225 } f6206cf05e28a7 Yizhen Fan 2023-09-11 226
:::::: The code at line 183 was first introduced by commit :::::: f6206cf05e28a7f455850a4e2de8162890f50073 ub: add memory map api in ubcore
:::::: TO: Yizhen Fan fanyizhen@huawei.com :::::: CC: fanyizhen1995 en_0015767@163.com