mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* fs/kernfs/dir.c:751:31: sparse: sparse: cast to non-scalar
@ 2026-10-26 16:04 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-26 16:04 UTC (permalink / raw)
  To: Shakeel Butt; +Cc: oe-kbuild-all, linux-kernel, Christian Brauner

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6b4b543fa18757297ac756a6fe6e64f506b7844a
commit: 81bdc85b4c086502f4446a58eb5d25f29bb5e9f7 kernfs: fix up the unlocked attribute reads on the creation paths
date:   7 weeks ago
config: alpha-randconfig-r2309-20261026 (https://download.01.org/0day-ci/archive/20261026/202610261608.vItiXCGW-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 8.5.0
sparse: v0.6.5-rc1-1-gc4640450
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261026/202610261608.vItiXCGW-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
| Fixes: 81bdc85b4c08 ("kernfs: fix up the unlocked attribute reads on the creation paths")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610261608.vItiXCGW-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> fs/kernfs/dir.c:751:31: sparse: sparse: cast to non-scalar
>> fs/kernfs/dir.c:751:31: sparse: sparse: cast from non-scalar

vim +751 fs/kernfs/dir.c

   731	
   732	struct kernfs_node *kernfs_new_node(struct kernfs_node *parent,
   733					    const char *name, umode_t mode,
   734					    kuid_t uid, kgid_t gid,
   735					    unsigned flags)
   736	{
   737		struct kernfs_node *kn;
   738	
   739		/*
   740		 * The mode and the gid below are read unlocked on purpose: they feed
   741		 * a node that does not exist yet, so nothing orders a racing chmod or
   742		 * chown against this creation.
   743		 */
   744		if (READ_ONCE(parent->mode) & S_ISGID) {
   745			/* this code block imitates inode_init_owner() for
   746			 * kernfs
   747			 */
   748			struct kernfs_iattrs *attrs = READ_ONCE(parent->iattr);
   749	
   750			if (attrs)
 > 751				gid = READ_ONCE(attrs->ia_gid);
   752	
   753			if (flags & KERNFS_DIR)
   754				mode |= S_ISGID;
   755		}
   756	
   757		kn = __kernfs_new_node(kernfs_root(parent), parent,
   758				       name, mode, uid, gid, flags);
   759		return kn;
   760	}
   761	

--
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-10-26 16:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-26 16:04 fs/kernfs/dir.c:751:31: sparse: sparse: cast to non-scalar kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®