]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: verify inline directory data forks
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 15 Mar 2017 07:24:25 +0000 (00:24 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 15 Mar 2017 07:24:25 +0000 (00:24 -0700)
commit9fa9d2f1f65c5b5a01e4fb6e51268fdd7be0dede
treeef788a95dc530d80b012987a1dc60f9a3912abbe
parent13e58cc3d698d7ba67092e7c1f2c02f38422b0e1
xfs: verify inline directory data forks

When we're reading or writing the data fork of an inline directory,
check the contents to make sure we're not overflowing buffers or eating
garbage data.  xfs/348 corrupts an inline symlink into an inline
directory, triggering a buffer overflow bug.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
---
v2: add more checks consistent with _dir2_sf_check and make the verifier
usable from anywhere.
fs/xfs/libxfs/xfs_dir2_priv.h
fs/xfs/libxfs/xfs_dir2_sf.c
fs/xfs/libxfs/xfs_inode_fork.c
fs/xfs/libxfs/xfs_inode_fork.h
fs/xfs/xfs_dir2_readdir.c
fs/xfs/xfs_inode.c