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

Patrick DELAUNAY patrick.delaunay at foss.st.com
Wed Oct 4 13:57:38 CEST 2023


Hi,

On 9/30/23 22:42, Sean Anderson wrote:
> This check breaks small partitions (under 1024 blocks) because part_length
> is in units of part.blksz and not bytes. Given the purpose of this
> function, we really want to make sure the partition is SUPERBLOCK_START +
> SUPERBLOCK_SIZE (2048) bytes so we can call ext4_read_superblock without
> error.
>
> The obvious solution is to convert callers from things like
>
> 	ext4fs_mount(part_info.size)
>
> to
>
> 	ext4fs_mount(part_info.size * part_info.blksz);
>
> However, I'm not really a fan of the bloat that would cause, especially
> since the error is now suppressed. I think the best course of action here
> is to just revert the patch.
>
> This reverts commit 9905cae65e03335aefcb1ebfab5b7ee62d89f64e.
>
> Signed-off-by: Sean Anderson <seanga2 at gmail.com>
> ---
>
>   fs/ext4/ext4_common.c | 4 ----
>   1 file changed, 4 deletions(-)
>
> diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c
> index 9a9c520e22c..f50de7c089e 100644
> --- a/fs/ext4/ext4_common.c
> +++ b/fs/ext4/ext4_common.c
> @@ -2373,10 +2373,6 @@ 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;


Agreed, I introduced error for part size in parameter

(in blk multiple even if after dev read if done after with bytes size)

And with caller change (part_info.size * part_info.blksz) we have risk 
of overflow for large ex4 partition.



minor remark: "part_length" is no more used....

it can be removed to avoid warining ?

include/ext4fs.h:149:int ext4fs_mount(void);

or use the tag  "__always_unused":

int ext4fs_mount(unsigned __always_unused part_length)
{


With the remarks:

Reviewed-by: Patrick Delaunay <patrick.delaunay at foss.st.com>

Thanks
Patrick




More information about the U-Boot mailing list