diff options
author | 2012-03-21 21:22:22 -0400 | |
---|---|---|
committer | 2012-03-21 21:22:22 -0400 | |
commit | 913eed83eda42012cde8a9a801c31b312545c098 (patch) | |
tree | c6d3ecf5f98fcb1da3854059dbcc51c27b078011 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | ext4: update s_free_{inodes,blocks}_count during online resize (diff) | |
download | linux-dev-913eed83eda42012cde8a9a801c31b312545c098.tar.xz linux-dev-913eed83eda42012cde8a9a801c31b312545c098.zip |
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 <lczerner@redhat.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions