The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* fs/file_table.c:241:13: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
@ 2026-05-07 10:54 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-07 10:54 UTC (permalink / raw)
  To: Mateusz Guzik; +Cc: oe-kbuild-all, linux-kernel, Christian Brauner, Jan Kara

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8ab992f815d6736b5c7a6f5fd7bfe7bc106bb3dc
commit: 1f1651d6dc2ac282d07043358824273c15a1cac4 fs: hide file and bfile caches behind runtime const machinery
date:   5 weeks ago
config: i386-randconfig-061-20260507 (https://download.01.org/0day-ci/archive/20260507/202605071805.Ho9VwgNW-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260507/202605071805.Ho9VwgNW-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: 1f1651d6dc2a ("fs: hide file and bfile caches behind runtime const machinery")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605071805.Ho9VwgNW-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> fs/file_table.c:241:13: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
>> fs/file_table.c:241:13: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:247:33: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:275:13: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:275:13: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:281:33: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:302:14: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:302:14: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:308:33: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:81:33: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   fs/file_table.c:83:33: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)

vim +241 fs/file_table.c

   211	
   212	/* Find an unused file structure and return a pointer to it.
   213	 * Returns an error pointer if some error happend e.g. we over file
   214	 * structures limit, run out of memory or operation is not permitted.
   215	 *
   216	 * Be very careful using this.  You are responsible for
   217	 * getting write access to any mount that you might assign
   218	 * to this filp, if it is opened for write.  If this is not
   219	 * done, you will imbalance int the mount's writer count
   220	 * and a warning at __fput() time.
   221	 */
   222	struct file *alloc_empty_file(int flags, const struct cred *cred)
   223	{
   224		static long old_max;
   225		struct file *f;
   226		int error;
   227	
   228		/*
   229		 * Privileged users can go above max_files
   230		 */
   231		if (unlikely(get_nr_files() >= files_stat.max_files) &&
   232		    !capable(CAP_SYS_ADMIN)) {
   233			/*
   234			 * percpu_counters are inaccurate.  Do an expensive check before
   235			 * we go and fail.
   236			 */
   237			if (percpu_counter_sum_positive(&nr_files) >= files_stat.max_files)
   238				goto over;
   239		}
   240	
 > 241		f = kmem_cache_alloc(filp_cache, GFP_KERNEL);
   242		if (unlikely(!f))
   243			return ERR_PTR(-ENOMEM);
   244	
   245		error = init_file(f, flags, cred);
   246		if (unlikely(error)) {
   247			kmem_cache_free(filp_cache, f);
   248			return ERR_PTR(error);
   249		}
   250	
   251		percpu_counter_inc(&nr_files);
   252	
   253		return f;
   254	
   255	over:
   256		/* Ran out of filps - report that */
   257		if (get_nr_files() > old_max) {
   258			pr_info("VFS: file-max limit %lu reached\n", get_max_files());
   259			old_max = get_nr_files();
   260		}
   261		return ERR_PTR(-ENFILE);
   262	}
   263	

-- 
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-05-07 10:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-07 10:54 fs/file_table.c:241:13: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef) 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