|
@@ -1251,7 +1251,7 @@ xfs_imap_lookup(
|
|
|
return error;
|
|
|
|
|
|
/* for untrusted inodes check it is allocated first */
|
|
|
- if ((flags & XFS_IGET_BULKSTAT) &&
|
|
|
+ if ((flags & XFS_IGET_UNTRUSTED) &&
|
|
|
(rec.ir_free & XFS_INOBT_MASK(agino - rec.ir_startino)))
|
|
|
return EINVAL;
|
|
|
|
|
@@ -1292,8 +1292,11 @@ xfs_imap(
|
|
|
if (agno >= mp->m_sb.sb_agcount || agbno >= mp->m_sb.sb_agblocks ||
|
|
|
ino != XFS_AGINO_TO_INO(mp, agno, agino)) {
|
|
|
#ifdef DEBUG
|
|
|
- /* no diagnostics for bulkstat, ino comes from userspace */
|
|
|
- if (flags & XFS_IGET_BULKSTAT)
|
|
|
+ /*
|
|
|
+ * Don't output diagnostic information for untrusted inodes
|
|
|
+ * as they can be invalid without implying corruption.
|
|
|
+ */
|
|
|
+ if (flags & XFS_IGET_UNTRUSTED)
|
|
|
return XFS_ERROR(EINVAL);
|
|
|
if (agno >= mp->m_sb.sb_agcount) {
|
|
|
xfs_fs_cmn_err(CE_ALERT, mp,
|
|
@@ -1329,7 +1332,7 @@ xfs_imap(
|
|
|
* inodes in stale state on disk. Hence we have to do a btree lookup
|
|
|
* in all cases where an untrusted inode number is passed.
|
|
|
*/
|
|
|
- if (flags & XFS_IGET_BULKSTAT) {
|
|
|
+ if (flags & XFS_IGET_UNTRUSTED) {
|
|
|
error = xfs_imap_lookup(mp, tp, agno, agino, agbno,
|
|
|
&chunk_agbno, &offset_agbno, flags);
|
|
|
if (error)
|