All of lore.kernel.org
 help / color / mirror / Atom feed
* [djwong-xfs:reserve-rt-metadata-space 129/196] fs/xfs/scrub/repair.c:1788 xrep_setup_orphanage() error: uninitialized symbol 'error'.
@ 2021-01-16  8:07 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-01-16  8:07 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6903 bytes --]

CC: kbuild-all(a)lists.01.org
CC: "Darrick J. Wong" <darrick.wong@oracle.com>
TO: "Darrick J. Wong" <djwong@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git reserve-rt-metadata-space
head:   51f17deded84ae5863d2220a0a7c152ef4a8bbb2
commit: 02ccf9a104716ff589dad55fcaf22d97d165e1e7 [129/196] xfs: move orphan files to the orphanage
:::::: branch date: 6 hours ago
:::::: commit date: 6 hours ago
config: i386-randconfig-m021-20210115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
fs/xfs/scrub/repair.c:1788 xrep_setup_orphanage() error: uninitialized symbol 'error'.

vim +/error +1788 fs/xfs/scrub/repair.c

02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1713  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1714  /* Create the orphanage directory, and set sc->orphanage to it. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1715  int
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1716  xrep_setup_orphanage(
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1717  	struct xfs_scrub	*sc)
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1718  {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1719  	struct xfs_mount	*mp = sc->mp;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1720  	struct dentry		*root_dentry, *orphanage_dentry;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1721  	struct inode		*root_inode = VFS_I(sc->mp->m_rootip);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1722  	struct inode		*orphanage_inode;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1723  	int			error;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1724  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1725  	if (XFS_FORCED_SHUTDOWN(mp))
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1726  		return -EIO;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1727  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1728  	ASSERT(sc->tp == NULL);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1729  	ASSERT(sc->orphanage == NULL);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1730  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1731  	/* Find the dentry for the root directory... */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1732  	root_dentry = d_find_alias(root_inode);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1733  	if (!root_dentry) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1734  		error = -EFSCORRUPTED;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1735  		goto out;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1736  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1737  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1738  	/* ...which is a directory, right? */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1739  	if (!d_is_dir(root_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1740  		error = -EFSCORRUPTED;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1741  		goto out_dput_root;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1742  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1743  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1744  	/* Try to find the orphanage directory. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1745  	inode_lock_nested(root_inode, I_MUTEX_PARENT);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1746  	orphanage_dentry = lookup_one_len(ORPHANAGE, root_dentry,
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1747  			strlen(ORPHANAGE));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1748  	if (IS_ERR(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1749  		error = PTR_ERR(orphanage_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1750  		goto out_unlock_root;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1751  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1752  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1753  	/* Nothing found?  Call mkdir to create the orphanage. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1754  	if (d_really_is_negative(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1755  		error = vfs_mkdir(root_inode, orphanage_dentry, 0755);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1756  		if (error)
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1757  			goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1758  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1759  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1760  	/* Not a directory? Bail out. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1761  	if (!d_is_dir(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1762  		error = -ENOTDIR;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1763  		goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1764  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1765  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1766  	/*
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1767  	 * Grab a reference to the orphanage.  This /should/ succeed since
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1768  	 * we hold the root directory locked and therefore nobody can delete
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1769  	 * the orphanage.
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1770  	 */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1771  	orphanage_inode = igrab(d_inode(orphanage_dentry));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1772  	if (!orphanage_inode) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1773  		error = -ENOENT;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1774  		goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1775  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1776  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1777  	/* Stash the reference for later and bail out. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1778  	sc->orphanage = XFS_I(orphanage_inode);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1779  	sc->orphanage_ilock_flags = 0;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1780  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1781  out_dput_orphanage:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1782  	dput(orphanage_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1783  out_unlock_root:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1784  	inode_unlock(VFS_I(sc->mp->m_rootip));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1785  out_dput_root:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1786  	dput(root_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1787  out:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05 @1788  	return error;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1789  }
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1790  

---
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: 32748 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [djwong-xfs:reserve-rt-metadata-space 129/196] fs/xfs/scrub/repair.c:1788 xrep_setup_orphanage() error: uninitialized symbol 'error'.
@ 2021-01-19  8:39 ` Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2021-01-19  8:39 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6535 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git reserve-rt-metadata-space
head:   51f17deded84ae5863d2220a0a7c152ef4a8bbb2
commit: 02ccf9a104716ff589dad55fcaf22d97d165e1e7 [129/196] xfs: move orphan files to the orphanage
config: i386-randconfig-m021-20210115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
fs/xfs/scrub/repair.c:1788 xrep_setup_orphanage() error: uninitialized symbol 'error'.

vim +/error +1788 fs/xfs/scrub/repair.c

02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1715  int
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1716  xrep_setup_orphanage(
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1717  	struct xfs_scrub	*sc)
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1718  {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1719  	struct xfs_mount	*mp = sc->mp;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1720  	struct dentry		*root_dentry, *orphanage_dentry;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1721  	struct inode		*root_inode = VFS_I(sc->mp->m_rootip);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1722  	struct inode		*orphanage_inode;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1723  	int			error;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1724  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1725  	if (XFS_FORCED_SHUTDOWN(mp))
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1726  		return -EIO;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1727  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1728  	ASSERT(sc->tp == NULL);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1729  	ASSERT(sc->orphanage == NULL);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1730  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1731  	/* Find the dentry for the root directory... */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1732  	root_dentry = d_find_alias(root_inode);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1733  	if (!root_dentry) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1734  		error = -EFSCORRUPTED;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1735  		goto out;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1736  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1737  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1738  	/* ...which is a directory, right? */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1739  	if (!d_is_dir(root_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1740  		error = -EFSCORRUPTED;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1741  		goto out_dput_root;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1742  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1743  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1744  	/* Try to find the orphanage directory. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1745  	inode_lock_nested(root_inode, I_MUTEX_PARENT);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1746  	orphanage_dentry = lookup_one_len(ORPHANAGE, root_dentry,
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1747  			strlen(ORPHANAGE));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1748  	if (IS_ERR(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1749  		error = PTR_ERR(orphanage_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1750  		goto out_unlock_root;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1751  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1752  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1753  	/* Nothing found?  Call mkdir to create the orphanage. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1754  	if (d_really_is_negative(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1755  		error = vfs_mkdir(root_inode, orphanage_dentry, 0755);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1756  		if (error)
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1757  			goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1758  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1759  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1760  	/* Not a directory? Bail out. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1761  	if (!d_is_dir(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1762  		error = -ENOTDIR;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1763  		goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1764  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1765  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1766  	/*
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1767  	 * Grab a reference to the orphanage.  This /should/ succeed since
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1768  	 * we hold the root directory locked and therefore nobody can delete
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1769  	 * the orphanage.
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1770  	 */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1771  	orphanage_inode = igrab(d_inode(orphanage_dentry));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1772  	if (!orphanage_inode) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1773  		error = -ENOENT;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1774  		goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1775  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1776  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1777  	/* Stash the reference for later and bail out. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1778  	sc->orphanage = XFS_I(orphanage_inode);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1779  	sc->orphanage_ilock_flags = 0;

error not initialized on the success path.

02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1780  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1781  out_dput_orphanage:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1782  	dput(orphanage_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1783  out_unlock_root:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1784  	inode_unlock(VFS_I(sc->mp->m_rootip));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1785  out_dput_root:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1786  	dput(root_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1787  out:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05 @1788  	return error;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1789  }

---
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: 32748 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [djwong-xfs:reserve-rt-metadata-space 129/196] fs/xfs/scrub/repair.c:1788 xrep_setup_orphanage() error: uninitialized symbol 'error'.
@ 2021-01-19  8:39 ` Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2021-01-19  8:39 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 6535 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git reserve-rt-metadata-space
head:   51f17deded84ae5863d2220a0a7c152ef4a8bbb2
commit: 02ccf9a104716ff589dad55fcaf22d97d165e1e7 [129/196] xfs: move orphan files to the orphanage
config: i386-randconfig-m021-20210115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
fs/xfs/scrub/repair.c:1788 xrep_setup_orphanage() error: uninitialized symbol 'error'.

vim +/error +1788 fs/xfs/scrub/repair.c

02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1715  int
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1716  xrep_setup_orphanage(
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1717  	struct xfs_scrub	*sc)
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1718  {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1719  	struct xfs_mount	*mp = sc->mp;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1720  	struct dentry		*root_dentry, *orphanage_dentry;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1721  	struct inode		*root_inode = VFS_I(sc->mp->m_rootip);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1722  	struct inode		*orphanage_inode;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1723  	int			error;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1724  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1725  	if (XFS_FORCED_SHUTDOWN(mp))
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1726  		return -EIO;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1727  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1728  	ASSERT(sc->tp == NULL);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1729  	ASSERT(sc->orphanage == NULL);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1730  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1731  	/* Find the dentry for the root directory... */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1732  	root_dentry = d_find_alias(root_inode);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1733  	if (!root_dentry) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1734  		error = -EFSCORRUPTED;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1735  		goto out;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1736  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1737  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1738  	/* ...which is a directory, right? */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1739  	if (!d_is_dir(root_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1740  		error = -EFSCORRUPTED;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1741  		goto out_dput_root;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1742  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1743  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1744  	/* Try to find the orphanage directory. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1745  	inode_lock_nested(root_inode, I_MUTEX_PARENT);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1746  	orphanage_dentry = lookup_one_len(ORPHANAGE, root_dentry,
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1747  			strlen(ORPHANAGE));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1748  	if (IS_ERR(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1749  		error = PTR_ERR(orphanage_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1750  		goto out_unlock_root;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1751  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1752  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1753  	/* Nothing found?  Call mkdir to create the orphanage. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1754  	if (d_really_is_negative(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1755  		error = vfs_mkdir(root_inode, orphanage_dentry, 0755);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1756  		if (error)
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1757  			goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1758  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1759  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1760  	/* Not a directory? Bail out. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1761  	if (!d_is_dir(orphanage_dentry)) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1762  		error = -ENOTDIR;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1763  		goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1764  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1765  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1766  	/*
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1767  	 * Grab a reference to the orphanage.  This /should/ succeed since
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1768  	 * we hold the root directory locked and therefore nobody can delete
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1769  	 * the orphanage.
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1770  	 */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1771  	orphanage_inode = igrab(d_inode(orphanage_dentry));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1772  	if (!orphanage_inode) {
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1773  		error = -ENOENT;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1774  		goto out_dput_orphanage;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1775  	}
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1776  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1777  	/* Stash the reference for later and bail out. */
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1778  	sc->orphanage = XFS_I(orphanage_inode);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1779  	sc->orphanage_ilock_flags = 0;

error not initialized on the success path.

02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1780  
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1781  out_dput_orphanage:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1782  	dput(orphanage_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1783  out_unlock_root:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1784  	inode_unlock(VFS_I(sc->mp->m_rootip));
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1785  out_dput_root:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1786  	dput(root_dentry);
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1787  out:
02ccf9a104716ff5 Darrick J. Wong 2021-01-05 @1788  	return error;
02ccf9a104716ff5 Darrick J. Wong 2021-01-05  1789  }

---
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: 32748 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-01-19  8:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-16  8:07 [djwong-xfs:reserve-rt-metadata-space 129/196] fs/xfs/scrub/repair.c:1788 xrep_setup_orphanage() error: uninitialized symbol 'error' kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-01-19  8:39 Dan Carpenter
2021-01-19  8:39 ` Dan Carpenter

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.