All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [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?
Date: Wed, 15 Apr 2026 01:05:19 +0800	[thread overview]
Message-ID: <202604150118.RodbHVwJ-lkp@intel.com> (raw)

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

                 reply	other threads:[~2026-04-14 17:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202604150118.RodbHVwJ-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=darrick.wong@oracle.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.