From: Lukas Czerner Date: Thu, 22 Mar 2012 01:22:22 +0000 (-0400) Subject: ext4: fix start and len arguments handling in ext4_trim_fs() X-Git-Tag: v3.4-rc1~75^2~9 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=913eed83eda42012cde8a9a801c31b312545c098;p=pandora-kernel.git ext4: fix start and len arguments handling in ext4_trim_fs() The overflow can happen when we are calling get_group_no_and_offset() which stores the group number in the ext4_grpblk_t type which is actually int. However when the blocknr is big enough the group number might be bigger than ext4_grpblk_t resulting in overflow. This will most likely happen with FITRIM default argument len = ULLONG_MAX. Fix this by using "end" variable instead of "start+len" as it is easier to get right and specifically check that the end is not beyond the end of the file system, so we are sure that the result of get_group_no_and_offset() will not overflow. Otherwise truncate it to the size of the file system. Signed-off-by: Lukas Czerner Reviewed-by: Jan Kara Signed-off-by: "Theodore Ts'o" --- Reading git-diff-tree failed