* [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.