diff options
author | 2024-11-03 20:18:51 -0800 | |
---|---|---|
committer | 2024-11-05 13:38:31 -0800 | |
commit | 7297fd0bebbd70efd12f72632a0f3ac49a8f59fe (patch) | |
tree | 946cb411a3ef830bfb2145569288c00ba6ec7507 /fs/xfs/libxfs/xfs_inode_buf.h | |
parent | xfs: load metadata directory root at mount time (diff) | |
download | wireguard-linux-7297fd0bebbd70efd12f72632a0f3ac49a8f59fe.tar.xz wireguard-linux-7297fd0bebbd70efd12f72632a0f3ac49a8f59fe.zip |
xfs: enforce metadata inode flag
Add checks for the metadata inode flag so that we don't ever leak
metadata inodes out to userspace, and we don't ever try to read a
regular inode as metadata.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/libxfs/xfs_inode_buf.h')
-rw-r--r-- | fs/xfs/libxfs/xfs_inode_buf.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h index 585ed5a110af..8d43d2641c73 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.h +++ b/fs/xfs/libxfs/xfs_inode_buf.h @@ -28,6 +28,9 @@ int xfs_inode_from_disk(struct xfs_inode *ip, struct xfs_dinode *from); xfs_failaddr_t xfs_dinode_verify(struct xfs_mount *mp, xfs_ino_t ino, struct xfs_dinode *dip); +xfs_failaddr_t xfs_dinode_verify_metadir(struct xfs_mount *mp, + struct xfs_dinode *dip, uint16_t mode, uint16_t flags, + uint64_t flags2); xfs_failaddr_t xfs_inode_validate_extsize(struct xfs_mount *mp, uint32_t extsize, uint16_t mode, uint16_t flags); xfs_failaddr_t xfs_inode_validate_cowextsize(struct xfs_mount *mp, |