diff options
Diffstat (limited to 'fs/xfs/xfs_itable.c')
| -rw-r--r-- | fs/xfs/xfs_itable.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 95fc31b9f87d..c0757ab99495 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -97,6 +97,14 @@ xfs_bulkstat_one_int(  	vfsuid = i_uid_into_vfsuid(idmap, inode);  	vfsgid = i_gid_into_vfsgid(idmap, inode); +	/* If this is a private inode, don't leak its details to userspace. */ +	if (IS_PRIVATE(inode)) { +		xfs_iunlock(ip, XFS_ILOCK_SHARED); +		xfs_irele(ip); +		error = -EINVAL; +		goto out_advance; +	} +  	/* xfs_iget returns the following without needing  	 * further change.  	 */  |