Message ID | 20220120143129.118237-3-cascardo@canonical.com |
---|---|
State | New |
Headers | show |
Series | [Focal,Bionic] xfs: map unwritten blocks in XFS_IOC_{ALLOC, FREE}SP just like fallocate | expand |
On 20.01.22 15:31, Thadeu Lima de Souza Cascardo wrote: > From: "Darrick J. Wong" <djwong@kernel.org> > > The old ALLOCSP/FREESP ioctls in XFS can be used to preallocate space at > the end of files, just like fallocate and RESVSP. Make the behavior > consistent with the other ioctls. > > Reported-by: Kirill Tkhai <ktkhai@virtuozzo.com> > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> > Reviewed-by: Dave Chinner <dchinner@redhat.com> > Reviewed-by: Eric Sandeen <sandeen@redhat.com> > (backported from commit 983d8e60f50806f90534cc5373d0ce867e5aaf79) > [cascardo: always use XFS_BMAPI_PREALLOC on xfs_alloc_file_space] > CVE-2021-4155 > Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> > --- Applied to focal:linux/master-next. Thanks. -Stefan > fs/xfs/xfs_ioctl.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c > index 2409b4ff4e07..6d3abb84451c 100644 > --- a/fs/xfs/xfs_ioctl.c > +++ b/fs/xfs/xfs_ioctl.c > @@ -714,7 +714,8 @@ xfs_ioc_space( > flags |= XFS_PREALLOC_CLEAR; > if (bf->l_start > XFS_ISIZE(ip)) { > error = xfs_alloc_file_space(ip, XFS_ISIZE(ip), > - bf->l_start - XFS_ISIZE(ip), 0); > + bf->l_start - XFS_ISIZE(ip), > + XFS_BMAPI_PREALLOC); > if (error) > goto out_unlock; > }
On 20.01.22 15:31, Thadeu Lima de Souza Cascardo wrote: > From: "Darrick J. Wong" <djwong@kernel.org> > > The old ALLOCSP/FREESP ioctls in XFS can be used to preallocate space at > the end of files, just like fallocate and RESVSP. Make the behavior > consistent with the other ioctls. > > Reported-by: Kirill Tkhai <ktkhai@virtuozzo.com> > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> > Reviewed-by: Dave Chinner <dchinner@redhat.com> > Reviewed-by: Eric Sandeen <sandeen@redhat.com> > (backported from commit 983d8e60f50806f90534cc5373d0ce867e5aaf79) > [cascardo: always use XFS_BMAPI_PREALLOC on xfs_alloc_file_space] > CVE-2021-4155 > Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> > --- Applied to bionic:linux/master-next. Thanks. -Stefan > fs/xfs/xfs_ioctl.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c > index 2409b4ff4e07..6d3abb84451c 100644 > --- a/fs/xfs/xfs_ioctl.c > +++ b/fs/xfs/xfs_ioctl.c > @@ -714,7 +714,8 @@ xfs_ioc_space( > flags |= XFS_PREALLOC_CLEAR; > if (bf->l_start > XFS_ISIZE(ip)) { > error = xfs_alloc_file_space(ip, XFS_ISIZE(ip), > - bf->l_start - XFS_ISIZE(ip), 0); > + bf->l_start - XFS_ISIZE(ip), > + XFS_BMAPI_PREALLOC); > if (error) > goto out_unlock; > }
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 2409b4ff4e07..6d3abb84451c 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -714,7 +714,8 @@ xfs_ioc_space( flags |= XFS_PREALLOC_CLEAR; if (bf->l_start > XFS_ISIZE(ip)) { error = xfs_alloc_file_space(ip, XFS_ISIZE(ip), - bf->l_start - XFS_ISIZE(ip), 0); + bf->l_start - XFS_ISIZE(ip), + XFS_BMAPI_PREALLOC); if (error) goto out_unlock; }