Re: [PATCH] ext4: fix a big-endian bug when an extent is zeroed out

From: Theodore Ts'o
Date: Wed Apr 03 2013 - 08:21:14 EST


On Wed, Apr 03, 2013 at 06:22:04PM +0800, Zheng Liu wrote:
> Subject: [PATCH] ext4: fix a big-endian bug when an extent is zeroed out
>
> From: Zheng Liu <wenqing.lz@xxxxxxxxxx>
>
> When an extent was zeroed out, we forgot to do convert from cpu to le16.
> It could make us hit a BUG_ON when we try to write dirty pages out. So
> fix it.
>
> Signed-off-by: Zheng Liu <wenqing.lz@xxxxxxxxxx>

Thanks for finding this! I think we should push this to Linus right
away, and not wait for the next merge window. The bug has been here
for a long time, but it was unmasked by the fact that we unbroke
extent zeroing in 3.9-rcX.

I have two big questions. (1) Shouldn't Eric Whitney have picked this
up with his ARM pandaboard testing, since IIRC it's big-endian as
well? If not, is there something we can do to improve our testing wrt
to big-endian systems?

And (2) does it make sense to have an inline function
ext4_ext_set_len(len)? It might save some lines of code, but more
importantly, it might make it less likely that we will overlook this
sort of bug in the future.

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/