* [vfs:work.d_path 3/14] fs/d_path.c:359:25: sparse: sparse: context imbalance in '__dentry_path' - wrong count at exit
@ 2021-06-08 22:34 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-06-08 22:34 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 4088 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-fsdevel(a)vger.kernel.org
TO: Al Viro <viro@zeniv.linux.org.uk>
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 <lkp@intel.com>
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/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40382 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-06-08 22:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-08 22:34 [vfs:work.d_path 3/14] fs/d_path.c:359:25: sparse: sparse: context imbalance in '__dentry_path' - wrong count at exit kernel test robot
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.