[Devel] [PATCH RHEL9 COMMIT] ext4/mfsync: do not BUG_ON on wrong set of files

Konstantin Khorenko khorenko at virtuozzo.com
Thu Dec 14 21:05:30 MSK 2023


The commit is pushed to "branch-rh9-5.14.0-362.8.1.vz9.35.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh9-5.14.0-362.8.1.vz9.35.1
------>
commit a86d1d9f0ea7ff5e762a6e087a76075680cbe88f
Author: Alexander Atanasov <alexander.atanasov at virtuozzo.com>
Date:   Mon Dec 4 13:34:24 2023 +0200

    ext4/mfsync: do not BUG_ON on wrong set of files
    
    mfsync(...) can not sync files from different filesystems if
    passed such set of files it BUG_ONs.
    Instead of BUG return -EINVAL.
    
    https://pmc.acronis.work/browse/VSTOR-78331
    Signed-off-by: Alexander Atanasov <alexander.atanasov at virtuozzo.com>
    Acked-by: Alexey Kuznetsov <kuznet at virtuozzo.com>
---
 fs/ext4/fsync.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c
index 8179066765bd..933f618f9123 100644
--- a/fs/ext4/fsync.c
+++ b/fs/ext4/fsync.c
@@ -212,7 +212,10 @@ int ext4_sync_files(struct file **files, unsigned int *flags, unsigned int nr_fi
 		struct address_space * mapping = files[i]->f_mapping;
 		struct inode *inode = mapping->host;
 
-		BUG_ON(sb != inode->i_sb);
+		if (sb != inode->i_sb) {
+			err = -EINVAL;
+			goto out;
+		}
 		if (!mapping->nrpages)
 			continue;
 


More information about the Devel mailing list