Blame SOURCES/CVE-2021-4155.patch

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