All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [android-common:android-mainline 12/12] fs/incfs/vfs.c:1129 dir_mkdir() warn: passing zero to 'ERR_PTR'
Date: Thu, 10 Sep 2026 17:58:51 +0800	[thread overview]
Message-ID: <202609101719.QdywMsrB-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: cros-kernel-buildreports@googlegroups.com

Hi Tudor,

First bad commit (maybe != root cause):

tree:   https://android.googlesource.com/kernel/common android-mainline
head:   c9692a371ad73c176aa0f66e06dddd0cec6c20f9
commit: 86898b81492d8fbd0efd2ecfcad0b759f1d9ffc1 [12/12] ANDROID: incfs: prepend incfs_super_ops with "incfs_"
:::::: branch date: 21 hours ago
:::::: commit date: 1 year, 5 months ago
config: x86_64-randconfig-r073-20260910 (https://download.01.org/0day-ci/archive/20260910/202609101719.QdywMsrB-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
smatch: v0.5.0-9187-g5189e3fb

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
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202609101719.QdywMsrB-lkp@intel.com/

New smatch warnings:
fs/incfs/vfs.c:1129 dir_mkdir() warn: passing zero to 'ERR_PTR'

Old smatch warnings:
fs/incfs/vfs.c:1062 dir_lookup() warn: passing zero to 'ERR_PTR'
fs/incfs/vfs.c:1926 incfs_mount_fs() warn: passing zero to 'ERR_PTR'

vim +/ERR_PTR +1129 fs/incfs/vfs.c

c6819dd77861f2 Eugene Zemtsov  2019-11-18  1064  
488f75a4566943 Tudor Ambarus   2025-04-07  1065  static struct dentry *dir_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *dentry, umode_t mode)
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1066  {
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1067  	struct mount_info *mi = get_mount_info(dir->i_sb);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1068  	struct inode_info *dir_node = get_incfs_node(dir);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1069  	struct dentry *backing_dentry = NULL;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1070  	struct path backing_path = {};
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1071  	int err = 0;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1072  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1073  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1074  	if (!mi || !dir_node || !dir_node->n_backing_inode)
488f75a4566943 Tudor Ambarus   2025-04-07  1075  		return ERR_PTR(-EBADF);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1076  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1077  	err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1078  	if (err)
488f75a4566943 Tudor Ambarus   2025-04-07  1079  		return ERR_PTR(err);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1080  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1081  	get_incfs_backing_path(dentry, &backing_path);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1082  	backing_dentry = backing_path.dentry;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1083  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1084  	if (!backing_dentry) {
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1085  		err = -EBADF;
000d95ac2d250b Akilesh Kailash 2020-07-17  1086  		goto path_err;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1087  	}
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1088  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1089  	if (backing_dentry->d_parent == mi->mi_index_dir) {
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1090  		/* Can't create a subdir inside .index */
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1091  		err = -EBUSY;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1092  		goto out;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1093  	}
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1094  
7e7bfa94e5ecd9 Paul Lawrence   2020-09-09  1095  	if (backing_dentry->d_parent == mi->mi_incomplete_dir) {
7e7bfa94e5ecd9 Paul Lawrence   2020-09-09  1096  		/* Can't create a subdir inside .incomplete */
7e7bfa94e5ecd9 Paul Lawrence   2020-09-09  1097  		err = -EBUSY;
7e7bfa94e5ecd9 Paul Lawrence   2020-09-09  1098  		goto out;
7e7bfa94e5ecd9 Paul Lawrence   2020-09-09  1099  	}
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1100  	inode_lock_nested(dir_node->n_backing_inode, I_MUTEX_PARENT);
488f75a4566943 Tudor Ambarus   2025-04-07  1101  	backing_dentry = vfs_mkdir(idmap, dir_node->n_backing_inode, backing_dentry, mode | 0222);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1102  	inode_unlock(dir_node->n_backing_inode);
488f75a4566943 Tudor Ambarus   2025-04-07  1103  	if (!IS_ERR(backing_dentry)) {
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1104  		struct inode *inode = NULL;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1105  
22b27c439f54c5 Akilesh Kailash 2020-07-18  1106  		if (d_really_is_negative(backing_dentry) ||
22b27c439f54c5 Akilesh Kailash 2020-07-18  1107  			unlikely(d_unhashed(backing_dentry))) {
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1108  			err = -EINVAL;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1109  			goto out;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1110  		}
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1111  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1112  		inode = fetch_regular_inode(dir->i_sb, backing_dentry);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1113  		if (IS_ERR(inode)) {
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1114  			err = PTR_ERR(inode);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1115  			goto out;
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1116  		}
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1117  		d_instantiate(dentry, inode);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1118  	}
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1119  
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1120  out:
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1121  	if (d_really_is_negative(dentry))
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1122  		d_drop(dentry);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1123  	path_put(&backing_path);
000d95ac2d250b Akilesh Kailash 2020-07-17  1124  
000d95ac2d250b Akilesh Kailash 2020-07-17  1125  path_err:
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1126  	mutex_unlock(&mi->mi_dir_struct_mutex);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1127  	if (err)
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1128  		pr_debug("incfs: %s err:%d\n", __func__, err);
488f75a4566943 Tudor Ambarus   2025-04-07 @1129  	return ERR_PTR(err);
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1130  }
c6819dd77861f2 Eugene Zemtsov  2019-11-18  1131  

:::::: The code at line 1129 was first introduced by commit
:::::: 488f75a4566943a9de893addc760f468555c25a4 ANDROID: incfs: comply with vfs_mkdir() to return the dentry

:::::: TO: Tudor Ambarus <tudordana@google.com>
:::::: CC: Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-09-10  9:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202609101719.QdywMsrB-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.