Hi,
>I figure before we get too fired up about 48 bits and ext4 let's fix 32 bits on ext3 :)
>
>I need to do some actual IO testing now, but this gets things mounting for a 16T ext3
>filesystem.
>(patched up e2fsprogs is needed too, I'll send that off the kernel list)
>
>This patch fixes these issues in the kernel:
>
> o sbi->s_groups_count overflows in ext3_fill_super()
>
> sbi->s_groups_count = (le32_to_cpu(es->s_blocks_count) -
> le32_to_cpu(es->s_first_data_block) +
> EXT3_BLOCKS_PER_GROUP(sb) - 1) /
> EXT3_BLOCKS_PER_GROUP(sb);
>
> at 16T, s_blocks_count is already maxed out; adding EXT3_BLOCKS_PER_GROUP(sb) overflows it and
> groups_count comes out to 0. Not really what we want, and causes a failed mount.
>
> Feel free to check my math (actually, please do!), but changing it this way should work &
> avoid the overflow:
>
> (A + B - 1)/B changed to: ((A - 1)/B) + 1
>
> o ext3_check_descriptors() overflows range checks
I had done the same work for both ext3 and ext2,
and sent the patches to ext2-devel three months ago.
If you need, you can get them from the following URL.
The introduction for my patch set:
http://marc.theaimsgroup.com/?l=ext2-devel&m=114856080926308&w=2
The patch which fixes overflow problem on ext3:
http://marc.theaimsgroup.com/?l=ext2-devel&m=114856129220863&w=2
The patch which fixes overflow problem on ext2:
http://marc.theaimsgroup.com/?l=ext2-devel&m=114856135120693&w=2
I have reviewed your patch and found other place which might
cause overflow as below. If group_first_block is the first block of
the last group, overflow will occur. This has already been fixed
in my patch.
o ext3_try_to_allocate_with_rsv() in fs/ext3/balloc.c
if ((my_rsv->rsv_start >= group_first_block + EXT3_BLOCKS_PER_GROUP(sb))
|| (my_rsv->rsv_end < group_first_block))
BUG();
Cheers, Takashi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]