From d6421a46af70ce8d74f27ee1a099a23b4c90e691 Mon Sep 17 00:00:00 2001 From: Gao Xiang Date: Tue, 21 Aug 2018 22:49:36 +0800 Subject: [PATCH] staging: erofs: fix compression mapping beyond EOF Logical address of EOF LTP mapping should start at `inode->i_size' rather than `inode->i_size - 1' to `m_la(in)', fix it. Signed-off-by: Gao Xiang Reviewed-by: Chao Yu Signed-off-by: Chao Yu Signed-off-by: Greg Kroah-Hartman --- drivers/staging/erofs/unzip_vle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/erofs/unzip_vle.c b/drivers/staging/erofs/unzip_vle.c index dab892157e51..6c4c9280cb8c 100644 --- a/drivers/staging/erofs/unzip_vle.c +++ b/drivers/staging/erofs/unzip_vle.c @@ -1548,7 +1548,7 @@ int z_erofs_map_blocks_iter(struct inode *inode, if (unlikely(map->m_la >= inode->i_size)) { BUG_ON(!initial); map->m_llen = map->m_la + 1 - inode->i_size; - map->m_la = inode->i_size - 1; + map->m_la = inode->i_size; map->m_flags = 0; goto out; } -- 2.11.0