fs/file_table.c:241:13: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 58717b2a1365d06c8c64b72aa948541b53fe31eb commit: 1f1651d6dc2ac282d07043358824273c15a1cac4 fs: hide file and bfile caches behind runtime const machinery date: 4 months ago config: i386-randconfig-061-20260716 (https://download.01.org/0day-ci/archive/20260716/[email protected]/config) compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211) sparse: v0.6.5-rc1 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260716/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ 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