Blame SOURCES/CVE-2021-4155.patch

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