All of lore.kernel.org
 help / color / mirror / Atom feed
* [openeuler:OLK-5.10 24875/30000] drivers/ub/urma/ubcore/ubcore_umem.c:183:21: sparse: sparse: Using plain integer as NULL pointer
@ 2024-04-12 19:28 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-04-12 19:28 UTC (permalink / raw)
  To: kernel, Yizhen Fan; +Cc: oe-kbuild-all

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@intel.com/config)
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@intel.com/reproduce)

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>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-12 19:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-12 19:28 [openeuler:OLK-5.10 24875/30000] drivers/ub/urma/ubcore/ubcore_umem.c:183:21: sparse: sparse: Using plain integer as NULL pointer kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.