ext4: Fix wrong comparisons in mext_check_arguments()
authorAkira Fujita <a-fujita@rs.jp.nec.com>
Wed, 16 Sep 2009 18:28:22 +0000 (14:28 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 16 Sep 2009 18:28:22 +0000 (14:28 -0400)
commit70d5d3dcea47c16058d2b093c29e07fdf61b56ad
tree82ff7d71973f259d8197bbc7c05461e978324c02
parent5f3481e9a80c240f169b36ea886e2325b9aeb745
ext4: Fix wrong comparisons in mext_check_arguments()

The mext_check_arguments() function in move_extents.c has wrong
comparisons.  orig_start which is passed from user-space is block
unit, but i_size of inode is byte unit, therefore the checks do not
work fine.  This mis-check leads to the overflow of 'len' and then
hits BUG_ON() in ext4_move_extents().  The patch fixes this issue.

Signed-off-by: Akira Fujita <a-fujita@rs.jp.nec.com>
Reviewed-by: Greg Freemyer <greg.freemyer@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/move_extent.c