On Fri, Mar 17, 2017 at 08:12:56AM +1100, Dave Chinner wrote: > On Wed, Mar 15, 2017 at 12:28:55AM -0700, Darrick J. Wong wrote: > > 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. > > I think the check is fine, but from a structural point of view they > are in the wrong place. i.e. the functions xfs_iformat_local() and > xfs_iflush_fork() should not be doing any content specific checks > and verification. All they do is marshall the fork data to and from > in-memory and on-disk formats - the contents of the forks should be > opaque to them. > > IOWs, incoming fork contents validity should be checked in > xfs_iformat_fork() after we call xfs_iformat_local(), outgoing fork > validity is checked in xfs_iflush_int() before calling > xfs_iflush_fork(). Sorry for pushing the button prematurely. I just sent out a patch to clean this up and address a few other issues. --D > > Cheers, > > Dave. > -- > Dave Chinner > david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html