gregkh at linuxfoundation.org
2023-Jun-17  08:26 UTC
[Ocfs2-devel] Patch "ocfs2: check new file size on fallocate call" has been added to the 4.14-stable tree
This is a note to let you know that I've just added the patch titled
    ocfs2: check new file size on fallocate call
to the 4.14-stable tree which can be found at:
   
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
     ocfs2-check-new-file-size-on-fallocate-call.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable at vger.kernel.org> know about it.
>From 26a6ffff7de5dd369cdb12e38ba11db682f1dec0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lu=C3=ADs=20Henriques?= <ocfs2-devel at oss.oracle.com>
Date: Mon, 29 May 2023 16:26:45 +0100
Subject: ocfs2: check new file size on fallocate call
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Lu?s Henriques <ocfs2-devel at oss.oracle.com>
commit 26a6ffff7de5dd369cdb12e38ba11db682f1dec0 upstream.
When changing a file size with fallocate() the new size isn't being
checked.  In particular, the FSIZE ulimit isn't being checked, which makes
fstest generic/228 fail.  Simply adding a call to inode_newsize_ok() fixes
this issue.
Link: https://lkml.kernel.org/r/20230529152645.32680-1-lhenriques at suse.de
Signed-off-by: Lu?s Henriques <lhenriques at suse.de>
Reviewed-by: Mark Fasheh <mark at fasheh.com>
Reviewed-by: Joseph Qi <joseph.qi at linux.alibaba.com>
Cc: Joel Becker <jlbec at evilplan.org>
Cc: Junxiao Bi <junxiao.bi at oracle.com>
Cc: Changwei Ge <gechangwei at live.cn>
Cc: Gang He <ghe at suse.com>
Cc: Jun Piao <piaojun at huawei.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
 fs/ocfs2/file.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -2109,14 +2109,20 @@ static long ocfs2_fallocate(struct file
 	struct ocfs2_space_resv sr;
 	int change_size = 1;
 	int cmd = OCFS2_IOC_RESVSP64;
+	int ret = 0;
 
 	if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE))
 		return -EOPNOTSUPP;
 	if (!ocfs2_writes_unwritten_extents(osb))
 		return -EOPNOTSUPP;
 
-	if (mode & FALLOC_FL_KEEP_SIZE)
+	if (mode & FALLOC_FL_KEEP_SIZE) {
 		change_size = 0;
+	} else {
+		ret = inode_newsize_ok(inode, offset + len);
+		if (ret)
+			return ret;
+	}
 
 	if (mode & FALLOC_FL_PUNCH_HOLE)
 		cmd = OCFS2_IOC_UNRESVSP64;
Patches currently in stable-queue which might be from ocfs2-devel at
oss.oracle.com are
queue-4.14/ocfs2-check-new-file-size-on-fallocate-call.patch
queue-4.14/ocfs2-fix-use-after-free-when-unmounting-read-only-filesystem.patch
Apparently Analagous Threads
- Patch "ocfs2: check new file size on fallocate call" has been added to the 4.19-stable tree
- Patch "ocfs2: check new file size on fallocate call" has been added to the 5.4-stable tree
- Patch "ocfs2: check new file size on fallocate call" has been added to the 5.10-stable tree
- Patch "ocfs2: check new file size on fallocate call" has been added to the 5.15-stable tree
- Patch "ocfs2: check new file size on fallocate call" has been added to the 6.1-stable tree
