Messages in this thread | | | Date | Wed, 13 May 2009 15:04:25 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH]Fix potential Divide by Zero error in ext2_get_inode() |
| |
On Wed, 13 May 2009 13:51:01 +0530 "B. N. Poornima" <poornima@in.ibm.com> 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;
| |