From: Kairui Song <ryncsn@gmail.com>
To: stable@vger.kernel.org, Greg KH <gregkh@linuxfoundation.org>
Cc: Matthew Wilcox <willy@infradead.org>,
Jens Axboe <axboe@kernel.dk>, David Howells <dhowells@redhat.com>,
Dave Chinner <david@fromorbit.com>,
Christian Theune <ct@flyingcircus.io>,
Christian Brauner <brauner@kernel.org>,
Chris Mason <clm@meta.com>, Sam James <sam@gentoo.org>,
Daniel Dao <dqminh@cloudflare.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Kairui Song <kasong@tencent.com>
Subject: [PATCH 6.1.y 6.6.y 0/3] mm/filemap: fix page cache corruption with large folios
Date: Wed, 2 Oct 2024 05:06:22 +0800 [thread overview]
Message-ID: <20241001210625.95825-1-ryncsn@gmail.com> (raw)
From: Kairui Song <kasong@tencent.com>
This series fixes the page cache corruption issue reported by Christian
Theune [1]. The issue was reported affects kernels back to 5.19.
Current maintained effected branches includes 6.1 and 6.6 and the fix
was included in 6.10 already.
This series can be applied for both 6.1 and 6.6.
Patch 3/3 is the fixing patch. It was initially submitted and merge as
an optimization but found to have fixed the corruption by handling race
correctly.
Patch 1/3 and 2/3 is required for 3/3.
Patch 3/3 included some unit test code, making the LOC of the backport a
bit higher, but should be OK to be kept, since they are just test code.
Note there seems still some unresolved problem in Link [1] but that
should be a different issue, and the commits being backported have been
well tested, they fix the corruption issue just fine.
Link: https://lore.kernel.org/linux-mm/A5A976CB-DB57-4513-A700-656580488AB6@flyingcircus.io/ [1]
Kairui Song (3):
mm/filemap: return early if failed to allocate memory for split
lib/xarray: introduce a new helper xas_get_order
mm/filemap: optimize filemap folio adding
include/linux/xarray.h | 6 +++
lib/test_xarray.c | 93 ++++++++++++++++++++++++++++++++++++++++++
lib/xarray.c | 49 ++++++++++++++--------
mm/filemap.c | 50 ++++++++++++++++++-----
4 files changed, 169 insertions(+), 29 deletions(-)
--
2.46.1
next reply other threads:[~2024-10-01 21:09 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-01 21:06 Kairui Song [this message]
2024-10-01 21:06 ` [PATCH 6.1.y 6.6.y 1/3] mm/filemap: return early if failed to allocate memory for split Kairui Song
2025-03-22 21:51 ` Sasha Levin
2024-10-01 21:06 ` [PATCH 6.1.y 6.6.y 2/3] lib/xarray: introduce a new helper xas_get_order Kairui Song
2025-03-22 21:51 ` Sasha Levin
2024-10-01 21:06 ` [PATCH 6.1.y 6.6.y 3/3] mm/filemap: optimize filemap folio adding Kairui Song
2025-03-22 21:50 ` Sasha Levin
2024-10-02 9:58 ` [PATCH 6.1.y 6.6.y 0/3] mm/filemap: fix page cache corruption with large folios Greg KH
2025-03-22 12:16 ` Yafang Shao
2025-03-22 15:53 ` Linus Torvalds
2025-03-23 11:18 ` Christian Theune
2025-03-23 13:20 ` Yafang Shao
2025-03-24 3:02 ` [PATCH 6.1.y] Revert "xfs: Support large folios" Yafang Shao
2025-03-24 15:40 ` Greg KH
2025-03-25 11:33 ` Sasha Levin
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=20241001210625.95825-1-ryncsn@gmail.com \
--to=ryncsn@gmail.com \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=clm@meta.com \
--cc=ct@flyingcircus.io \
--cc=david@fromorbit.com \
--cc=dhowells@redhat.com \
--cc=dqminh@cloudflare.com \
--cc=gregkh@linuxfoundation.org \
--cc=kasong@tencent.com \
--cc=sam@gentoo.org \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=willy@infradead.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