All of lore.kernel.org
 help / color / mirror / Atom feed
* [brauner-vfs:vfs.misc 10/12] fs/file.c:922:24: sparse: sparse: incorrect type in return expression (different address spaces)
@ 2023-10-09 18:08 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-10-09 18:08 UTC (permalink / raw)
  To: Christian Brauner; +Cc: oe-kbuild-all, Christian Brauner

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git vfs.misc
head:   2c814c8fad597e079cf3e526bf9b7a2572da0091
commit: f5dc7c8f516455fc4b88a36e4bfd9c45c5823404 [10/12] file: convert to SLAB_TYPESAFE_BY_RCU
config: i386-randconfig-061-20231008 (https://download.01.org/0day-ci/archive/20231010/202310100108.itAyBdia-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231010/202310100108.itAyBdia-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/202310100108.itAyBdia-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   fs/file.c:379:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file **old_fds @@     got struct file [noderef] __rcu **fd @@
   fs/file.c:379:17: sparse:     expected struct file **old_fds
   fs/file.c:379:17: sparse:     got struct file [noderef] __rcu **fd
   fs/file.c:380:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file **new_fds @@     got struct file [noderef] __rcu **fd @@
   fs/file.c:380:17: sparse:     expected struct file **new_fds
   fs/file.c:380:17: sparse:     got struct file [noderef] __rcu **fd
   fs/file.c:395:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   fs/file.c:395:17: sparse:    struct file [noderef] __rcu *
   fs/file.c:395:17: sparse:    struct file *
   fs/file.c:430:54: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct file *file @@     got struct file [noderef] __rcu *[assigned] __ret @@
   fs/file.c:470:28: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct fdtable [noderef] __rcu *fdt @@     got struct fdtable * @@
   fs/file.c:646:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file *file @@     got struct file [noderef] __rcu * @@
   fs/file.c:841:30: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file *file @@     got struct file [noderef] __rcu * @@
   fs/file.c:862:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file [noderef] __rcu *file @@     got struct file * @@
   fs/file.c:866:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct atomic_t [usertype] *v @@     got struct atomic_t [noderef] __rcu * @@
   fs/file.c:869:23: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file [noderef] __rcu *file_reloaded @@     got struct file * @@
   fs/file.c:892:24: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected struct file * @@     got struct file [noderef] __rcu *file_reloaded @@
   fs/file.c:894:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct file * @@     got struct file [noderef] __rcu *file @@
   fs/file.c:915:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file [noderef] __rcu *file @@     got struct file * @@
>> fs/file.c:922:24: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected struct file * @@     got struct file [noderef] __rcu *file @@
   fs/file.c:1212:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file *tofree @@     got struct file [noderef] __rcu * @@

vim +922 fs/file.c

   897	
   898	/**
   899	 * get_file_rcu - try go get a reference to a file under rcu
   900	 * @f: the file to get a reference on
   901	 *
   902	 * This function tries to get a reference on @f carefully verifying that
   903	 * @f hasn't been reused.
   904	 *
   905	 * This function should rarely have to be used and only by users who
   906	 * understand the implications of SLAB_TYPESAFE_BY_RCU. Try to avoid it.
   907	 *
   908	 * Return: Returns @f with the reference count increased or NULL.
   909	 */
   910	struct file *get_file_rcu(struct file __rcu **f)
   911	{
   912		for (;;) {
   913			struct file __rcu *file;
   914	
   915			file = __get_file_rcu(f);
   916			if (unlikely(!file))
   917				return NULL;
   918	
   919			if (unlikely(IS_ERR(file)))
   920				continue;
   921	
 > 922			return file;
   923		}
   924	}
   925	EXPORT_SYMBOL_GPL(get_file_rcu);
   926	

-- 
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:[~2023-10-09 18:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-09 18:08 [brauner-vfs:vfs.misc 10/12] fs/file.c:922:24: sparse: sparse: incorrect type in return expression (different address spaces) 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.