Re: [U-Boot] [U-Boot, RFC] ext4fs: le32_to_cpu() used on a 16-bit field

Sorry for the extra noise.
On Wednesday, July 17, 2013, Rommel G Custodio sessyargc@gmail.com wrote:
Dear Lukasz Majewski,
On 2013.07/16, Lukasz Majewski wrote:
Hi Rommel,
Hi All,
U-Boot 2013.07-rc3 [ELDK 5.2.1 / ELDK 5.3]
Now I've started to use the new ext4 code. I need the "ext4write" command. Though there seems to be several problems with the ext2/ext4 code.
The ext4 code at u-boot (especially ext4write) needs special attention.
It is on top of my list to refactor and clean up this code base (especially the ext4write command).
I know the code is fairly recent and it seems limited testing (on a limited number of platforms) has only been performed.
I am testing on an ml507 (PPC440, Big Endian). There are some cases where the a field is 16-bit but le32_to_cpu() is used. Some checks (ie eh_magic) fails to match even if I use a correctly ext4 formatted MMC/SD card.
Does these seem right? Or am I mistaken?
I would need to double check it (since I'm using only ext4load at my target board currently).
Without the patches below ext4load/ext2load doesn't work correctly on the ml507.
For testing, the default settings are used enabled). The SD card mounts correctly using ext4 in Linux but I get this error in u-boot: ml507:/# ext4ls mmc 0:1
<DIR> 4096 . <DIR> 4096 .. <DIR> 16384 lost+found 9294153 mybit.ace ml507:/# ext2ls mmc 0:1 <DIR> 4096 . <DIR> 4096 .. <DIR> 16384 lost+found 9294153 mybit.ace ml507:/# ext4load mmc 0:1 1000000 /mybit.ace invalid extent block ml507:/# ext2load mmc 0:1 1000000 mybit.ace invalid extent block
do { i++;
if (i >= le32_to_cpu(ext_block->eh_entries))
if (i >= le16_to_cpu(ext_block->eh_entries))
^^^^^ We had some problems with unaligned access to 16 bit values recently (when those start at 0x2). It was observed on our ARM Exynos4 based target.
(Sorry, I can't CC anyone directly as I'm using the gmane "post" interface)
You can also CC ext4 u-boot's implementation authors.
Forgot to Cc the list And the original author's email seem to be bouncing.
All the best, Rommel
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
-- Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
participants (1)
-
Rommel Custodio