From: Gao Xiang <hsiangkao@linux.alibaba.com>
To: stable@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-erofs@lists.ozlabs.org,
Gao Xiang <hsiangkao@linux.alibaba.com>,
keltargw <keltar.gw@gmail.com>
Subject: [PATCH 5.15.y] erofs: ensure that the post-EOF tails are all zeroed
Date: Thu, 31 Aug 2023 19:29:56 +0800 [thread overview]
Message-ID: <20230831112959.99884-4-hsiangkao@linux.alibaba.com> (raw)
In-Reply-To: <20230831112959.99884-1-hsiangkao@linux.alibaba.com>
commit e4c1cf523d820730a86cae2c6d55924833b6f7ac upstream.
This was accidentally fixed up in commit e4c1cf523d82 but we can't
take the full change due to other dependancy issues, so here is just
the actual bugfix that is needed.
[Background]
keltargw reported an issue [1] that with mmaped I/Os, sometimes the
tail of the last page (after file ends) is not filled with zeroes.
The root cause is that such tail page could be wrongly selected for
inplace I/Os so the zeroed part will then be filled with compressed
data instead of zeroes.
A simple fix is to avoid doing inplace I/Os for such tail parts,
actually that was already fixed upstream in commit e4c1cf523d82
("erofs: tidy up z_erofs_do_read_page()") by accident.
[1] https://lore.kernel.org/r/3ad8b469-25db-a297-21f9-75db2d6ad224@linux.alibaba.com
Reported-by: keltargw <keltar.gw@gmail.com>
Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support")
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
---
fs/erofs/zdata.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index c247b1bf57cc..f6536b224586 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -716,6 +716,8 @@ static int z_erofs_do_read_page(struct z_erofs_decompress_frontend *fe,
cur = end - min_t(erofs_off_t, offset + end - map->m_la, end);
if (!(map->m_flags & EROFS_MAP_MAPPED)) {
zero_user_segment(page, cur, end);
+ ++spiltted;
+ tight = false;
goto next_part;
}
--
2.24.4
next prev parent reply other threads:[~2023-08-31 11:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-31 11:29 [PATCH 6.5.y] erofs: ensure that the post-EOF tails are all zeroed Gao Xiang
2023-08-31 11:29 ` [PATCH 6.4.y] " Gao Xiang
2023-08-31 11:29 ` [PATCH 6.1.y] " Gao Xiang
2023-08-31 11:29 ` Gao Xiang [this message]
2023-08-31 11:29 ` [PATCH 5.10.y] " Gao Xiang
2023-08-31 11:29 ` [PATCH 5.4.y] " Gao Xiang
2023-08-31 11:29 ` [PATCH 4.19.y] " Gao Xiang
2023-09-02 8:19 ` [PATCH 6.5.y] " Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230831112959.99884-4-hsiangkao@linux.alibaba.com \
--to=hsiangkao@linux.alibaba.com \
--cc=gregkh@linuxfoundation.org \
--cc=keltar.gw@gmail.com \
--cc=linux-erofs@lists.ozlabs.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox