All of lore.kernel.org
 help / color / mirror / Atom feed
* [djwong-xfs:fuse-iomap-bpf 72/73] fs/fuse/fuse_iomap_bpf.c:293:1: sparse: sparse: symbol 'fuse_bpf_iomap_inval_mappings' was not declared. Should it be static?
@ 2026-04-14 17:05 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-04-14 17:05 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git fuse-iomap-bpf
head:   7815cf2d85bdc74581749a4c7b2ef1a639ba07fe
commit: e452086291368868913da98b03d32bbe2b4c872f [72/73] fuse: add kfuncs for iomap bpf programs to manage the cache
config: arc-randconfig-r132-20260414 (https://download.01.org/0day-ci/archive/20260415/202604150118.RodbHVwJ-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 11.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260415/202604150118.RodbHVwJ-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/202604150118.RodbHVwJ-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   fs/fuse/fuse_iomap_bpf.c:228:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct atomic_t const [usertype] *v @@     got struct atomic_t [noderef] __rcu * @@
   fs/fuse/fuse_iomap_bpf.c:228:17: sparse:     expected struct atomic_t const [usertype] *v
   fs/fuse/fuse_iomap_bpf.c:228:17: sparse:     got struct atomic_t [noderef] __rcu *
   fs/fuse/fuse_iomap_bpf.c:230:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct fuse_iomap_bpf_ops *ops @@     got struct fuse_iomap_bpf_ops [noderef] __rcu *bpf_ops @@
   fs/fuse/fuse_iomap_bpf.c:230:59: sparse:     expected struct fuse_iomap_bpf_ops *ops
   fs/fuse/fuse_iomap_bpf.c:230:59: sparse:     got struct fuse_iomap_bpf_ops [noderef] __rcu *bpf_ops
   fs/fuse/fuse_iomap_bpf.c:241:52: sparse: sparse: incompatible types in comparison expression (different address spaces):
   fs/fuse/fuse_iomap_bpf.c:241:52: sparse:    struct fuse_iomap_bpf_ops [noderef] __rcu *
   fs/fuse/fuse_iomap_bpf.c:241:52: sparse:    struct fuse_iomap_bpf_ops *
>> fs/fuse/fuse_iomap_bpf.c:293:1: sparse: sparse: symbol 'fuse_bpf_iomap_inval_mappings' was not declared. Should it be static?
>> fs/fuse/fuse_iomap_bpf.c:318:1: sparse: sparse: symbol 'fuse_bpf_iomap_upsert_mappings' was not declared. Should it be static?
   fs/fuse/fuse_iomap_bpf.c:371:1: sparse: sparse: symbol 'btf_fuse_iomap_bpf_ops_id' was not declared. Should it be static?
   fs/fuse/fuse_iomap_bpf.c:373:1: sparse: sparse: symbol 'btf_fuse_iomap_begin_out_id' was not declared. Should it be static?
   fs/fuse/fuse_iomap_bpf.c:375:1: sparse: sparse: symbol 'btf_fuse_iomap_ioend_out_id' was not declared. Should it be static?

vim +/fuse_bpf_iomap_inval_mappings +293 fs/fuse/fuse_iomap_bpf.c

   291	
   292	__bpf_kfunc int
 > 293	fuse_bpf_iomap_inval_mappings(struct fuse_inode *fi,
   294				      const struct fuse_range *read__nullable,
   295				      const struct fuse_range *write__nullable)
   296	{
   297		struct fuse_iomap_inval_mappings_out outarg = {
   298			.nodeid = fi->nodeid,
   299			.attr_ino = fi->orig_ino,
   300		};
   301		struct inode *inode = &fi->inode;
   302		struct fuse_conn *fc = get_fuse_conn(inode);
   303	
   304		if (!fc->iomap)
   305			return -EOPNOTSUPP;
   306	
   307		if (read__nullable)
   308			memcpy(&outarg.read, read__nullable, sizeof(outarg.read));
   309		if (write__nullable)
   310			memcpy(&outarg.write, write__nullable, sizeof(outarg.write));
   311	
   312		trace_fuse_iomap_inval_mappings(inode, &outarg);
   313	
   314		return fuse_iomap_inval_inode(inode, &outarg);
   315	}
   316	
   317	__bpf_kfunc int
 > 318	fuse_bpf_iomap_upsert_mappings(struct fuse_inode *fi,
   319				       const struct fuse_iomap_io *read__nullable,
   320				       const struct fuse_iomap_io *write__nullable)
   321	{
   322		struct fuse_iomap_upsert_mappings_out outarg = {
   323			.nodeid = fi->nodeid,
   324			.attr_ino = fi->orig_ino,
   325			.read.type = FUSE_IOMAP_TYPE_NOCACHE,
   326			.write.type = FUSE_IOMAP_TYPE_NOCACHE,
   327		};
   328		struct inode *inode = &fi->inode;
   329		struct fuse_conn *fc = get_fuse_conn(inode);
   330	
   331		if (!fc->iomap)
   332			return -EOPNOTSUPP;
   333	
   334		if (read__nullable)
   335			memcpy(&outarg.read, read__nullable, sizeof(outarg.read));
   336		if (write__nullable)
   337			memcpy(&outarg.write, write__nullable, sizeof(outarg.write));
   338	
   339		trace_fuse_iomap_upsert_mappings(inode, &outarg);
   340	
   341		return fuse_iomap_upsert_inode(inode, &outarg);
   342	}
   343	

-- 
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:[~2026-04-14 17:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-14 17:05 [djwong-xfs:fuse-iomap-bpf 72/73] fs/fuse/fuse_iomap_bpf.c:293:1: sparse: sparse: symbol 'fuse_bpf_iomap_inval_mappings' was not declared. Should it be static? 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.