summaryrefslogtreecommitdiffstats
path: root/fs/ext4/symlink.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2011-01-11 15:16:31 -0500
committerTheodore Ts'o <tytso@mit.edu>2011-01-11 15:16:31 -0500
commit0f0a25bf516843adae479636dc1cf75fd0bd003c (patch)
tree9c33ad74ee35181cb6d1a2e82da8df110919e47c /fs/ext4/symlink.c
parent0a2179b169089f871e071c74316371ed43e6c8eb (diff)
downloadop-kernel-dev-0f0a25bf516843adae479636dc1cf75fd0bd003c.zip
op-kernel-dev-0f0a25bf516843adae479636dc1cf75fd0bd003c.tar.gz
ext4: fix trimming starting with block 0 with small blocksize
When s_first_data_block is not zero (which happens e.g. when block size is 1KB) and trim ioctl is called to start trimming from block 0, the math in ext4_get_group_no_and_offset() overflows. The overall result is that ioctl returns EINVAL which is kind of unexpected and we probably don't want userspace tools to bother with internal details of filesystem structure. So just silently increase starting offset (and shorten length) when starting block is below s_first_data_block. CC: Lukas Czerner <lczerner@redhat.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/symlink.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud