Blame SOURCES/CVE-2021-4155.patch

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