[PATCH] fs: ext4: check the minimal partition size to mount

Patrick Delaunay patrick.delaunay at foss.st.com
Wed Mar 8 09:49:54 CET 2023


No need to mount a too small partition to handle a EXT4 file system.

This patch add a test on partition size before to read the
SUPERBLOCK_SIZE buffer and avoid error latter in fs_devread() function.

Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
---
This patch avoids traces when EFI try to detect FS type on one GPT
partition with only one LBA (512 octetcs):

  fs_devread read outside partition 2
  Failed to mount ext2 filesystem..

FyleSytem type is searched by efi_disk_create_part() / efi_fs_exists()

Even if these traces are removed by commit f337fb9ea8b8 ("fs: Quieten down
the filesystems more"), if think it should be good to avoid to read
outside partition at the start of this function by a simple test.


 fs/ext4/ext4_common.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c
index f50de7c089e6..9a9c520e22ca 100644
--- a/fs/ext4/ext4_common.c
+++ b/fs/ext4/ext4_common.c
@@ -2373,6 +2373,10 @@ int ext4fs_mount(unsigned part_length)
 	struct ext2_data *data;
 	int status;
 	struct ext_filesystem *fs = get_fs();
+
+	if (part_length < SUPERBLOCK_SIZE)
+		return 0;
+
 	data = zalloc(SUPERBLOCK_SIZE);
 	if (!data)
 		return 0;
-- 
2.25.1



More information about the U-Boot mailing list