答复: [PATCH] ext4: e2fsprogs: fix inode bitmap num not integer,incompatible for ancient android devices

From: Gaoming (ming, consumer BG)
Date: Wed Jun 27 2018 - 21:40:49 EST


Hi tytso,

I have checked that make_ext4fs code was deleted o Jun 21th 2018 on master branch of /system/extras repository.
e.g.
https://android-review.googlesource.com/c/platform/system/extras/+/708003

that means this tools has been widely used along serval years.
And it is probably that many many devices have been deliveryed in several year from android 3.0 to android 8.0, which used make_ext4fs.
And of course these devices cannot be recalled.

If this bug was induced in some android devices, when make_ext4fs tool produce ext4 filesystem with inodemap num not integer.
If some error occurs with this filesystem , the e2fsck try to fix it. Contrarily, it induced more errors.

I have checked tune2fs,resize2fs, these two progs not used something like " EXT2_INODES_PER_GROUP(fs->super) / 8" , or used lib which was modified by me.

Regards,
Ming

-----邮件原件-----
发件人: Theodore Y. Ts'o [mailto:tytso@xxxxxxx]
发送时间: 2018年6月27日 22:10
收件人: Gaoming (ming, consumer BG)
抄送: linux-ext4@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Liqingchao (sorp); Shenchen (harry); miaoxie (A)
主题: Re: [PATCH] ext4: e2fsprogs: fix inode bitmap num not integer,incompatible for ancient android devices

On Tue, Jun 26, 2018 at 07:54:06PM +0800, GaoMing wrote:
> for example, 1708 inodes every group,3 block groups, bitmap bytes are 1708/8=213.5 when the inode bitmap has some errors, e2fsprogs cannot fix it
>
> Signed-off-by: GaoMing <gaoming20@xxxxxxxxxx>

File systems like this should not exist. Can you please please please
make sure that any use of make_ext2fs are ripped out by the roots?

What I *should* do is have e2fsck reject these file systems as
completely invalid in pass 0, when we check for superblock sanity. I
haven't because there are some older Android systems that use
make_ext2fs. But at this point, what I am **seriously** doing is to
make e2fsck reject these file systems by default, unless a setting in
e2fsck.conf is set to allow them as an exception.

My concern about applying this patch is that it will be taken as
acceptance of e2fsprogs to fully support these sorts of invalid file
systems. In particular, there is no guarantee that various tune2fs
options, resize2fs, etc., will work correctly even with your patch.

- Ted