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

Henrik Nordström henrik at henriknordstrom.net
Sat May 18 16:24:15 CEST 2013


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.

Regards
Henrik



More information about the U-Boot mailing list