Message ID | 20160707081241.GA16645@mwanda (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/fs/ocfs2/move_extents.c b/fs/ocfs2/move_extents.c index e3d05d9..9ff405a 100644 --- a/fs/ocfs2/move_extents.c +++ b/fs/ocfs2/move_extents.c @@ -1014,7 +1014,8 @@ int ocfs2_ioctl_move_extents(struct file *filp, void __user *argp) goto out_free; } - if (range.me_start > i_size_read(inode)) { + if (range.me_start > i_size_read(inode) || + range.me_len > i_size_read(inode)) { status = -EINVAL; goto out_free; }
My static checker complains that ->me_start + ->me_len can overflow. I haven't followed it through to see the implications but it seems simple enough to prevent the overflow. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- move_extents in other less common file systems have this same warning as well.