aboutsummaryrefslogtreecommitdiff
path: root/fs/super.c
diff options
context:
space:
mode:
authorDarrick J. Wong2021-07-12 12:58:51 -0700
committerDarrick J. Wong2021-07-15 09:58:42 -0700
commit5aa5b278237f356f86205c4b03d4cc64a293850a (patch)
tree6d86418555329aece03357a9b55144712f626a8d /fs/super.c
parent83193e5ebb0164d612aa620ceab7d3746e80e2a4 (diff)
xfs: don't expose misaligned extszinherit hints to userspace
Commit 603f000b15f2 changed xfs_ioctl_setattr_check_extsize to reject an attempt to set an EXTSZINHERIT extent size hint on a directory with RTINHERIT set if the hint isn't a multiple of the realtime extent size. However, I have recently discovered that it is possible to change the realtime extent size when adding a rt device to a filesystem, which means that the existence of directories with misaligned inherited hints is not an accident. As a result, it's possible that someone could have set a valid hint and added an rt volume with a different rt extent size, which invalidates the ondisk hints. After such a sequence, FSGETXATTR will report a misaligned hint, which FSSETXATTR will trip over, causing confusion if the user was doing the usual GET/SET sequence to change some other attribute. Change xfs_fill_fsxattr to omit the hint if it isn't aligned properly. Fixes: 603f000b15f2 ("xfs: validate extsz hints against rt extent size when rtinherit is set") Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/super.c')
0 files changed, 0 insertions, 0 deletions