CC: [email protected] CC: [email protected] TO: Al Viro <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.d_path head: e4b275531887fef7f7d8a7284bfc32f0fbbd4208 commit: 3acca043261fa6268961d152ea2505e217eabcba [3/14] d_path: regularize handling of root dentry in __dentry_path() :::::: branch date: 3 weeks ago :::::: commit date: 3 weeks ago config: riscv-randconfig-s031-20210608 (attached as .config) compiler: riscv32-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?id=3acca043261fa6268961d152ea2505e217eabcba git remote add vfs https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git git fetch --no-tags vfs work.d_path git checkout 3acca043261fa6268961d152ea2505e217eabcba # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=riscv If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> sparse warnings: (new ones prefixed by >>) fs/d_path.c:159:9: sparse: sparse: context imbalance in 'prepend_path' - wrong count at exit >> fs/d_path.c:359:25: sparse: sparse: context imbalance in '__dentry_path' - >> wrong count at exit vim +/__dentry_path +359 fs/d_path.c 7a5cf791a74764 Al Viro 2018-03-05 325 7a5cf791a74764 Al Viro 2018-03-05 326 /* 7a5cf791a74764 Al Viro 2018-03-05 327 * Write full pathname from the root of the filesystem into the buffer. 7a5cf791a74764 Al Viro 2018-03-05 328 */ 3a291c974cf7ff Al Viro 2021-05-17 329 static char *__dentry_path(const struct dentry *d, char *p, int buflen) 7a5cf791a74764 Al Viro 2018-03-05 330 { a2bbe66493ee38 Al Viro 2019-07-07 331 const struct dentry *dentry; 3acca043261fa6 Al Viro 2021-05-17 332 char *end; 7a5cf791a74764 Al Viro 2018-03-05 333 int len, seq = 0; 7a5cf791a74764 Al Viro 2018-03-05 334 7a5cf791a74764 Al Viro 2018-03-05 335 rcu_read_lock(); 7a5cf791a74764 Al Viro 2018-03-05 336 restart: 7a5cf791a74764 Al Viro 2018-03-05 337 dentry = d; 3a291c974cf7ff Al Viro 2021-05-17 338 end = p; 7a5cf791a74764 Al Viro 2018-03-05 339 len = buflen; 7a5cf791a74764 Al Viro 2018-03-05 340 read_seqbegin_or_lock(&rename_lock, &seq); 7a5cf791a74764 Al Viro 2018-03-05 341 while (!IS_ROOT(dentry)) { a2bbe66493ee38 Al Viro 2019-07-07 342 const struct dentry *parent = dentry->d_parent; 7a5cf791a74764 Al Viro 2018-03-05 343 7a5cf791a74764 Al Viro 2018-03-05 344 prefetch(parent); 3acca043261fa6 Al Viro 2021-05-17 345 if (unlikely(prepend_name(&end, &len, &dentry->d_name) < 0)) 7a5cf791a74764 Al Viro 2018-03-05 346 break; 7a5cf791a74764 Al Viro 2018-03-05 347 7a5cf791a74764 Al Viro 2018-03-05 348 dentry = parent; 7a5cf791a74764 Al Viro 2018-03-05 349 } 7a5cf791a74764 Al Viro 2018-03-05 350 if (!(seq & 1)) 7a5cf791a74764 Al Viro 2018-03-05 351 rcu_read_unlock(); 7a5cf791a74764 Al Viro 2018-03-05 352 if (need_seqretry(&rename_lock, seq)) { 7a5cf791a74764 Al Viro 2018-03-05 353 seq = 1; 7a5cf791a74764 Al Viro 2018-03-05 354 goto restart; 7a5cf791a74764 Al Viro 2018-03-05 355 } 7a5cf791a74764 Al Viro 2018-03-05 356 done_seqretry(&rename_lock, seq); 3acca043261fa6 Al Viro 2021-05-17 357 if (len == buflen) 3acca043261fa6 Al Viro 2021-05-17 358 prepend(&end, &len, "/", 1); 3acca043261fa6 Al Viro 2021-05-17 @359 return len >= 0 ? end : ERR_PTR(-ENAMETOOLONG); 7a5cf791a74764 Al Viro 2018-03-05 360 } 7a5cf791a74764 Al Viro 2018-03-05 361 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
