Blame SOURCES/CVE-2021-4155.patch

d77eec
From 01df9f93baafe0243264cf24f42d84e124c9ee0a Mon Sep 17 00:00:00 2001
d77eec
From: Joe Lawrence <joe.lawrence@redhat.com>
d77eec
Date: Tue, 4 Jan 2022 13:53:44 -0500
d77eec
Subject: [KPATCH CVE-2021-4155] xfs: kpatch fixes for CVE-2021-4155
d77eec
d77eec
Kernels:
d77eec
3.10.0-1160.15.2.el7
d77eec
3.10.0-1160.21.1.el7
d77eec
3.10.0-1160.24.1.el7
d77eec
3.10.0-1160.25.1.el7
d77eec
3.10.0-1160.31.1.el7
d77eec
3.10.0-1160.36.2.el7
d77eec
3.10.0-1160.41.1.el7
d77eec
3.10.0-1160.42.2.el7
d77eec
3.10.0-1160.45.1.el7
d77eec
3.10.0-1160.49.1.el7
d77eec
3.10.0-1160.53.1.el7
d77eec
d77eec
Changes since last build:
d77eec
arches: x86_64 ppc64le
d77eec
xfs_ioctl.o: changed function: xfs_ioc_space
d77eec
---------------------------
d77eec
d77eec
Kpatch-MR: https://gitlab.com/redhat/prdsc/rhel/src/kpatch/rhel-7/-/merge_requests/15
d77eec
Approved-by: Yannick Cote (@ycote1)
d77eec
Approved-by: Artem Savkov (@artem.savkov)
d77eec
Kernels:
d77eec
3.10.0-1160.21.1.el7
d77eec
3.10.0-1160.24.1.el7
d77eec
3.10.0-1160.25.1.el7
d77eec
3.10.0-1160.31.1.el7
d77eec
3.10.0-1160.36.2.el7
d77eec
3.10.0-1160.41.1.el7
d77eec
3.10.0-1160.42.2.el7
d77eec
3.10.0-1160.45.1.el7
d77eec
3.10.0-1160.49.1.el7
d77eec
3.10.0-1160.53.1.el7
d77eec
d77eec
Modifications: none
d77eec
d77eec
Z-MR: https://gitlab.com/redhat/prdsc/rhel/src/kernel-private/rhel-7/-/merge_requests/18
d77eec
d77eec
KT0 test PASS: https://beaker.engineering.redhat.com/jobs/6164756
d77eec
for kpatch-patch-3_10_0-1160_15_2-1-11.el7 scratch build:
d77eec
https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=42181339
d77eec
d77eec
commit 65cb42abca9a5a600cbbdbbef8ddbafd028b7b5d
d77eec
Author: Carlos Maiolino <cmaiolino@redhat.com>
d77eec
Date:   Tue Jan 4 08:29:12 2022 +0100
d77eec
d77eec
    xfs: map unwritten blocks in XFS_IOC_{ALLOC,FREE}SP just like fallocate
d77eec
d77eec
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2034857
d77eec
    CVE: CVE-2021-4155
d77eec
    Tested: xfstests and specific reproducer
d77eec
    Upstream status: Posted privately due to embargo
d77eec
d77eec
    Conflicts:
d77eec
            - el7 required small adjustment to the patch, to fit the old
d77eec
              code.
d77eec
d77eec
    The old ALLOCSP/FREESP ioctls in XFS can be used to preallocate space at
d77eec
    the end of files, just like fallocate and RESVSP.  Make the behavior
d77eec
    consistent with the other ioctls.
d77eec
d77eec
    Reported-by: Kirill Tkhai <ktkhai@virtuozzo.com>
d77eec
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
d77eec
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
d77eec
    Reviewed-by: Dave Chinner <dchinner@redhat.com>
d77eec
    Reviewed-by: Eric Sandeen <sandeen@redhat.com>
d77eec
    (cherry picked from commit 983d8e60f50806f90534cc5373d0ce867e5aaf79)
d77eec
d77eec
    Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
d77eec
d77eec
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
d77eec
---
d77eec
 fs/xfs/xfs_ioctl.c | 3 ++-
d77eec
 1 file changed, 2 insertions(+), 1 deletion(-)
d77eec
d77eec
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
d77eec
index 722396680482..8f1c795c8765 100644
d77eec
--- a/fs/xfs/xfs_ioctl.c
d77eec
+++ b/fs/xfs/xfs_ioctl.c
d77eec
@@ -773,7 +773,8 @@ xfs_ioc_space(
d77eec
 		flags |= XFS_PREALLOC_CLEAR;
d77eec
 		if (bf->l_start > XFS_ISIZE(ip)) {
d77eec
 			error = xfs_alloc_file_space(ip, XFS_ISIZE(ip),
d77eec
-					bf->l_start - XFS_ISIZE(ip), 0);
d77eec
+					bf->l_start - XFS_ISIZE(ip),
d77eec
+					XFS_BMAPI_PREALLOC);
d77eec
 			if (error)
d77eec
 				goto out_unlock;
d77eec
 		}
d77eec
-- 
d77eec
2.26.3
d77eec
d77eec