summaryrefslogtreecommitdiffstats
path: root/fs/gfs2
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2018-03-05 14:18:25 +0100
committerBob Peterson <rpeterso@redhat.com>2018-03-07 19:40:38 +0100
commit3b5da96e4585a2788da6a07619bda3518d76eb30 (patch)
tree16d641a9b40682f8a027f6175bc9efe570a9687d /fs/gfs2
parentMerge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff)
downloadlinux-3b5da96e4585a2788da6a07619bda3518d76eb30.tar.xz
linux-3b5da96e4585a2788da6a07619bda3518d76eb30.zip
gfs2: Fixes to "Implement iomap for block_map" (2)
It turns out that commit 3229c18c0d6b2 'Fixes to "Implement iomap for block_map"' introduced another bug in gfs2_iomap_begin that can cause gfs2_block_map to set bh->b_size of an actual buffer to 0. This can lead to arbitrary incorrect behavior including crashes or disk corruption. Revert the incorrect part of that commit. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/bmap.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index 86d6a4435c87..51f940e76c5e 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -807,9 +807,6 @@ do_alloc:
iomap->length = hole_size(inode, lblock, &mp);
else
iomap->length = size - pos;
- } else {
- if (height <= ip->i_height)
- iomap->length = hole_size(inode, lblock, &mp);
}
goto out_release;
}