[U-Boot] sandbox: block driver using host file/device as backing store, crash in ext4

Simon Glass sjg at chromium.org
Sat May 18 19:46:18 CEST 2013


Hi Henrik,

On Sat, May 18, 2013 at 7:24 AM, Henrik Nordström
<henrik at henriknordstrom.net> wrote:
> tor 2013-05-16 klockan 21:53 -0700 skrev Simon Glass:
>
>> Sorry I meant:
>>
>> =>ext4ls host 0:3
>> Segmentation fault (core dumped)
>>
>> It may not be your code, but I think the segfault is there.
>
> It's crashing in ext4 for me.
>
> #0  ext4fs_set_blk_dev (rbdd=0x6434a0 <host_devices>,
>     info=info at entry=0x643980 <fs_partition>) at dev.c:56
>
> #0  ext4fs_set_blk_dev (rbdd=0x6434a0 <host_devices>,
>     info=info at entry=0x643980 <fs_partition>) at dev.c:56
> 56              get_fs()->total_sect = (info->size * info->blksz) >>
> 57                      get_fs()->dev_desc->log2blksz;
> 58              get_fs()->dev_desc = rbdd;
>
> p(gdb) p get_fs()
> $2 = (struct ext_filesystem *) 0x644410 <ext_fs>
> (gdb) p $2->dev_desc
> $5 = (block_dev_desc_t *) 0x0
>
> Looks like a generic ext4 bug in the new block size handling code.
>
> I think it just needs to be shuffled around a bit so the dev_desc is
> assigned before, not after.

Well that's a great bug to find.

It isn't related to your patch though - if you have time it would be
nice to get a separate patch to fix that bug.

>
> Regards
> Henrik
>

Regards,
Simon


More information about the U-Boot mailing list