Re: [PATCH]Fix potential Divide by Zero error in ext2_get_inode()

From: Andrew Morton
Date: Wed May 13 2009 - 18:04:45 EST


On Wed, 13 May 2009 13:51:01 +0530
"B. N. Poornima" <poornima@xxxxxxxxxx> wrote:

> Found a line of code in ext2_get_inode function of inode.c in the ext2
> filesystem that has the potential of hitting the divide by 0 error.
> *************************************************
> block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb);
> *************************************************
> There is no checking done here to verify if EXT2_INODES_PER_GROUP()
> returns 0. This could result in divide by zero error and panic the system.
> Below is the patch, built against 2.6.30-rc5, to correct the same:

EXT2_INODES_PER_GROUP() cannot return zero. See ext2_fill_super():

if (sbi->s_inodes_per_block == 0 || sbi->s_inodes_per_group == 0)
goto cantfind_ext2;

--
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/