FAILED: patch "[PATCH] ext4: don't allow r/w mounts if metadata blocks overlap the" failed to apply to 4.4-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
18db4b4e6fc31eda838dd1c1296d67dbcb3dc957Mon Sep 17 00:00:00 2001
From: Theodore Ts'o <[email protected]>
Date: Thu, 29 Mar 2018 22:10:35 -0400
Subject: [PATCH] ext4: don't allow r/w mounts if metadata blocks overlap the
superblock
If some metadata block, such as an allocation bitmap, overlaps the superblock, it's very likely that if the file system is mounted read/write, the results will not be pretty. So disallow r/w mounts for file systems corrupted in this particular way.
fs/ext4/super.c +6 -0
@@ -2335,6 +2335,8 @@ static int ext4_check_descriptors(struct super_block *sb,ext4_msg (sb,KERN_ERR ,"ext4_check_descriptors: " "Block bitmap for group %u overlaps " "superblock" , i); +if (!sb_rdonly (sb)) +return 0 ; }if (block_bitmap < first_block || block_bitmap > last_block) { ext4_msg(sb, KERN_ERR, "ext4_check_descriptors: "
@@ -2347,6 +2349,8 @@ static int ext4_check_descriptors(struct super_block *sb,ext4_msg (sb,KERN_ERR ,"ext4_check_descriptors: " "Inode bitmap for group %u overlaps " "superblock" , i); +if (!sb_rdonly (sb)) +return 0 ; }if (inode_bitmap < first_block || inode_bitmap > last_block) { ext4_msg(sb, KERN_ERR, "ext4_check_descriptors: "
@@ -2359,6 +2363,8 @@ static int ext4_check_descriptors(struct super_block *sb,ext4_msg (sb,KERN_ERR ,"ext4_check_descriptors: " "Inode table for group %u overlaps " "superblock" , i); +if (!sb_rdonly (sb)) +return 0 ; }if (inode_table < first_block || inode_table + sbi->s_itb_per_group -1 > last_block) {