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

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@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;

On Wed, Mar 08, 2023 at 09:49:54AM +0100, Patrick Delaunay wrote:
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@foss.st.com
Applied to u-boot/master, thanks!
participants (2)
-
Patrick Delaunay
-
Tom Rini